我在这里发帖而不是wordpress.stackexchange,因为这可能不是wordpress问题,而是更多的图像或imagemagick设置问题。
我使用一些js交换src网址来响应加载图片。
<?php
$imageID = $feat['image'];
$alt = $imageID['alt'];
$mobile = wp_get_attachment_image_src($imageID['id'],'mobile-feature');
$tablet = wp_get_attachment_image_src($imageID['id'],'tablet-feature');
$laptop = wp_get_attachment_image_src($imageID['id'],'laptop-feature');
$desktop = wp_get_attachment_image_src($imageID['id'],'desktop-feature');
?>
<img src="<?php echo $mobile[0]; ?>"
height=" " width=" "
data-maxwidth768px="<?php echo $mobile[0]; ?>"
data-maxwidth1000px="<?php echo $tablet[0]; ?>"
data-maxwidth1500px="<?php echo $laptop[0]; ?>"
data-minwidth1501px="<?php echo $desktop[0]; ?>"
alt="<?php echo $alt; ?>" title="<?php echo $alt; ?>" />
它所提取的图像是通过wordpress调整大小的图像。
我已经检查了我的php安装,我使用的是ImageMagick而不是GD,我知道如果想象力无法找到,那么3.5(如果我在3.9)的wordpress将回退到GD。
我知道我的很多图像都具有透明度,但似乎更高的对比度灰色仍在丢失。
以下是wordpress创建的普通图像和已调整大小的图像。
正常:
调整大小:
注意一些灰色针脚是如何切割的?
正常:
调整大小:
请注意这里的区别。
我使用wordpress函数add_image_size()
创建这些尺寸,同时保持图像(jpeg)质量尽可能高。
add_image_size( 'mobile-feature', 320 );
add_image_size( 'tablet-feature', 400 );
add_image_size( 'laptop-feature', 600 );
add_image_size( 'desktop-feature', 800 );
add_filter( 'jpeg_quality', 'tgm_image_full_quality' );
add_filter( 'wp_editor_set_quality', 'tgm_image_full_quality' );
/**
* Filters the image quality for thumbnails to be at the highest ratio possible.
*
* Supports the new 'wp_editor_set_quality' filter added in WP 3.5.
*
* @since 1.0.0
*
* @param int $quality The default quality (90)
* @return int $quality Amended quality (100)
*/
function tgm_image_full_quality( $quality ) {
return 100;
}
然而,重新调整大小的图像仍然有很多不足之处。
将图像保存为jpeg时,一切正常,当然,因为没有透明度。
但无论我用什么设置将我的PNG保存在photoshop中,它总会有相同的结果。
我的Photoshop设置。
PNG-24
透明度
隔行
转换为sRGB
质量双立方
我该怎么办才能阻止这种情况?