رفتن به مطلب

مشکل ریسایز شدن تصاویر + کد مربوطه


پست های پیشنهاد شده

دوستان درود . من تصاویری رو در سایت منتشر میکنم ، یک حالت بند انگشتی داره ، و یک حالت که به صورت فول تصاویر مثل اسلایدر قرار میگیره در پس زمینه سایت .

حالا مشکل اینه که تصاویری که در حالت بزرگ برای پس زمینه قرار میگیرند سایز اونها تغییر میکنه و از بالا و پایین زده میشند ، اصطلاحا Crop میشن .

این کد در صفحه اصلی مربوط به نمیش اون تصایر بزرگ هستش ، من آشنایی با Php ندارم متاسفانه ، اگر امکانش هست لطفا ، ریسایز کردن تصاویر توسط قالب رو غیر فعال کنید تا تصاویر به صورت واقعی نمایش پیدا کنند . پیشاپیش از شما سپاسگذارم .


$thumb_id = get_post_thumbnail_id( $post->ID );
$img_src = wp_get_attachment_image_src( $thumb_id, 'full' );
$alt = get_post_meta($thumb_id,'_wp_attachment_image_alt', true );

$img_meta = array(
'href' => $img_src[0],
'size' => array(
'width' => $img_src[1],
'height' => $img_src[2]
)
);

//$img_meta = dt_image_href( $args );
if( !( empty($img_meta['size']['width']) && empty($img_meta['size']['height']) ) ){
$w = $img_meta['size']['width'];
$h = $img_meta['size']['height'];
}else{
$w = $h = 1000;
}
$pg_preview .= sprintf( '<img class="pg_thumb"%1$s src="%2$s" alt="%5$s" width="%3$d" height="%4$d"/>',
(1 == $count)?' style="display:block;"':'',
$img_meta['href'],
$w, $h,
esc_attr($alt)
);

لینک به ارسال
ارسال شده در (ویرایش شده)

دوستان یعنی هیچ کس نبود بگه این کد ریسایز میکنه .. نمیکنه ... چه طوریه :D مشکل کجاست :D

کدی که بالا دادم ریسایز رو انجام نمیده . این قسمت از Function ریسایز میکنه


// where should we start cropping
$new_w = $w;
$new_h = $h;
if ( ($src_w / $src_h) <= ($w / $h) )
{
$new_h = intval( $w / $src_w * $src_h );
$src_y = intval( ($new_h - $h) / 2 );
}
else
{
$new_w = intval( $h * $src_w / $src_h );
$src_x = intval( ($new_w - $w) / 2 );
}

$old_img = $image;
$image = imagecreatetruecolor($w, $h);

// set transparency
if ($mime_type == 'image/png')
{
imagealphablending($image, false);
imagesavealpha($image, true);
$trans_colour = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $trans_colour);
}

// copy resampled image
$tmp_im = imagecreatetruecolor($new_w, $new_h);

// set transparency
if ($mime_type == 'image/png')
{
imagealphablending($tmp_im, false);
imagesavealpha($tmp_im, true);
$trans_colour = imagecolorallocatealpha($tmp_im, 0, 0, 0, 127);
imagefill($tmp_im, 0, 0, $trans_colour);
}

imagecopyresampled(
$tmp_im, $old_img,
0, 0,
0, 0,
$new_w, $new_h,
$src_w, $src_h
);
imagedestroy($old_img);

imagecopy(
$image, $tmp_im,
0, 0,
$src_x, $src_y,
$w, $h
);

@imagedestroy($tmp_im);
}

if ( !$is_no_image )
@$image_func($image, $tmp_name, $quality);

cleanCache();
// output image
Header("Content-Type: ".$mime_type);
$image_func($image, null, $quality);
@imagedestroy($image);



exit;

ویرایش شده توسط Usrapid
لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...