我正在尝试重新设计我的网站,以便我的原始方形、基于瓷砖的图像渲染可以更像图像的剪贴...以消除那种网格模式。
这是最初的样子...
这是我想要的一个大致的模型:
因此,我用透明背景重新保存了一个图像缩略图... 我只想让狗显示出来,而正方形是透明的,下面会显示网站的背景。
然而,当我在页面上呈现它时,它有这个黑色的背景。
我检查了我的CSS,看看是否有一些img类或渲染漫画的类...甚至是引导程序,看看是否有一个被分配为黑色的背景颜色(并且还搜索了十六进制代码000000),但没有找到...
你知道为什么会发生这种情况吗?
谢谢!
编辑:我刚刚注意到了一些事情...
我的顶部标志使用透明背景呈现... 并且该元素是一个png文件... 因此,它的MIME类型是image/png。
我正在使用一个缩略图脚本将缩略图变小,但现在元素是thumber.php,这使它成为MIME类型image/jpeg。
所以我想这是我的缩略图脚本改变了MIME类型。
所以我检查了它,它正在创建文件作为jpeg。
这是最初的样子...
这是我想要的一个大致的模型:
因此,我用透明背景重新保存了一个图像缩略图... 我只想让狗显示出来,而正方形是透明的,下面会显示网站的背景。
然而,当我在页面上呈现它时,它有这个黑色的背景。
我检查了我的CSS,看看是否有一些img类或渲染漫画的类...甚至是引导程序,看看是否有一个被分配为黑色的背景颜色(并且还搜索了十六进制代码000000),但没有找到...
你知道为什么会发生这种情况吗?
谢谢!
编辑:我刚刚注意到了一些事情...
我的顶部标志使用透明背景呈现... 并且该元素是一个png文件... 因此,它的MIME类型是image/png。
我正在使用一个缩略图脚本将缩略图变小,但现在元素是thumber.php,这使它成为MIME类型image/jpeg。
所以我想这是我的缩略图脚本改变了MIME类型。
所以我检查了它,它正在创建文件作为jpeg。
//imagejpeg outputs the image
imagejpeg($img);
有没有一种方法可以更改设置,使重新采样后的图像输出为PNG格式?
缩略图脚本:
<?php
#Appreciation goes to digifuzz (http://www.digifuzz.net) for help on this
$image_file = $_GET['img']; //takes in full path of image
$MAX_WIDTH = $_GET['mw'];
$MAX_HEIGHT = $_GET['mh'];
global $img;
//Check for image
if(!$image_file || $image_file == "") {
die("NO FILE.");
}
//If no max width, set one
if(!$MAX_WIDTH || $MAX_WIDTH == "") {
$MAX_WIDTH="100";
}
//if no max height, set one
if(!$MAX_HEIGHT || $MAX_HEIGHT == "") {
$MAX_HEIGHT = "100";
}
$img = null;
//create image file from 'img' parameter string
$img = imagecreatefrompng($image_file);
//if image successfully loaded...
if($img) {
//get image size and scale ratio
$width = imagesx($img);
$height = imagesy($img);
//takes min value of these two
$scale = min($MAX_WIDTH/$width, $MAX_HEIGHT/$height);
//if desired new image size is less than original, output new image
if($scale < 1) {
$new_width = floor($scale * $width);
$new_height = floor($scale * $height);
$tmp_img = imagecreatetruecolor($new_width, $new_height);
//copy and resize old image to new image
imagecopyresampled($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagedestroy($img);
//replace actual image with new image
$img = $tmp_img;
}
}
//set the content type header
header("Content-type: image/png");
//imagejpeg outputs the image
imagealphablending($img, false);
imagesavealpha($img, true);
imagepng($img);
imagedestroy($img);
?>