Usrapid

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

2 پست در این موضوع قرار دارد

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

حالا مشکل اینه که تصاویری که در حالت بزرگ برای پس زمینه قرار میگیرند سایز اونها تغییر میکنه و از بالا و پایین زده میشند ، اصطلاحا 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)
);

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

دوستان یعنی هیچ کس نبود بگه این کد ریسایز میکنه .. نمیکنه ... چه طوریه :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
0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری