我想在PHP中执行以下操作:
我有两个图像,一个jpg和一个png.我想将jpg的大小调整为与png相同的大小,然后将png置于顶部.PNG具有透明度,所以我想保留它,以便jpg显示在下面.
如果有人能提供帮助那就太棒了!
谢谢
我想将图像调整为100px(宽或高),同时保持其比例和质量.
所有这一切需要做的是打开一个给定的文件,调整它并用新版本覆盖文件(保留文件名).
它应该只能做jpeg,gif和png文件.
我对透明胶片不挑剔.
我在PHP中开发了一种简单快速的算法来比较图像的相似性.
其快速(800x600图像每秒约40个)以及未经优化的搜索算法可以在22分钟内完成3,000张图像,将每张图像与其他图像进行比较(3 /秒).
基本概述是获取图像,将其重新调整为8x8,然后将这些像素转换为HSV.然后将Hue,Saturation和Value截断为4位,它变成一个大的十六进制字符串.
比较图像基本上沿着两个字符串,然后添加它找到的差异.如果总数低于64,那么它的图像相同.不同的图像通常在600 - 800左右.低于20和极其相似.
我可以使用这个型号有什么改进吗?我还没有看到不同组件(色调,饱和度和值)与比较的相关性.顺化可能很重要,但其他人呢?
为了加快搜索速度,我可能会将每个部分的4位分成两半,并将最重要的位先放入,这样如果它们检查失败,则根本不需要检查lsb.我不知道一种有效的方法来存储这样的位,但仍然允许它们被轻松搜索和比较.
我一直在使用3000张照片的数据集(大多数是独一无二的)并没有任何误报.它完全不受调整大小和相当的亮度和对比度变化的抵抗力.
我正在使用PHP进行ODP-> HTML转换.我有以下问题:
使用style:use-window-font-color属性指定窗口前景色是否应该用作浅色背景色的前景色和白色用于深色背景色.
(OpenDocument规范版本1.0,15.4.4)
如果我有背景图像,如果此图像是亮还是暗,我该如何检查?
你有什么想法?
提前谢谢,Levu
我有这个脚本像素化我的图像脚本工作,但我想要更光滑的边缘:
$imgfile = 'batman.jpg';
$image = ImageCreateFromJPEG($imgfile);
$imagex = imagesx($image);
$imagey = imagesy($image);
$pixelate_amount = 10;
$tmpImage = ImageCreateTrueColor($imagex, $imagey);
imagecopyresized($tmpImage, $image, 0, 0, 0, 0, round($imagex / $pixelate_amount), round($imagey / $pixelate_amount), $imagex, $imagey);
$pixelated = ImageCreateTrueColor($imagex, $imagey);
imagecopyresized($pixelated, $tmpImage, 0, 0, 0, 0, $imagex, $imagey, round($imagex / $pixelate_amount), round($imagey / $pixelate_amount));
header("Content-Type: image/jpeg");
imageJPEG($pixelated, "", 100);
Run Code Online (Sandbox Code Playgroud)
我有:
这产生:
有什么我想念的吗?
这似乎是一个非常愚蠢的问题.我是新的PHP图像处理.我假设php中只有两个图像处理库.它们被称为GD/GD2和Imagemagick.我怎么知道我安装了哪个?或者如果我安装了任何?我有回音的phpinfo.它只是说,GD成像由Rasmus Lerdorf就斯蒂格巴肯,吉姆·文斯蒂德,Jouni Ahto,伊利亚Alshanetsky,皮埃尔 - 阿兰·乔伊,马库斯·博格创建.我真的很困惑.提前致谢.
将图像上传到我的网站后,图像正在调整大小.我正在使用imagecreatefromjpeg
和imagecopyresampled
功能.我注意到颜色与原始图像中的颜色不同.
在这里你可以看到差异.您可以使用当前颜色和我网站上的图像后面的闪烁来查看图像.
原始图片: https ://c2.staticflickr.com/6/5754/23693488109_74c67f012a_k.jpg
发布后: https ://www.isrart.co.il/img/uploads/art/viewer/big/photo-2b971e861c7aa2c57b8f7667ec666c3d.jpg
这是我的PHP代码:
$type = @getImageSize($_FILES['photo']['tmp_name'])[2];
switch ($type) {
case 1 :
$img = imageCreateFromGif($_FILES['photo']['tmp_name']);
break;
case 2 :
$img = imageCreateFromJpeg($_FILES['photo']['tmp_name']);
break;
case 3 :
$img = imageCreateFromPng($_FILES['photo']['tmp_name']);
break;
case 6 :
$img = imageCreateFromBmp($_FILES['photo']['tmp_name']);
break;
}
$orig_width = imagesx($img);
if($orig_width < $width)
return $img;
$orig_height = imagesy($img);
$height = (($orig_height * $width) / $orig_width);
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $img, 0, 0, 0, 0, $width, $height, $orig_width, …
Run Code Online (Sandbox Code Playgroud) 我真的不明白为什么GD有不同的功能来加载图像,如:
imagecreatefromjpeg()
imagecreatefrompng()
imagecreatefromgif()
Run Code Online (Sandbox Code Playgroud)
虽然图像是字符串,但只有一个功能?
imagecreatefromstring()
Run Code Online (Sandbox Code Playgroud)
实际上,将图像读入字符串并将其传递给函数会更好,例如:
$imgBlob = file_get_contents($imagePath);
imagecreatefromstring($imageBlob);
unset($imgBlob); //> Free memory, but I am not interested in memory consumpation
Run Code Online (Sandbox Code Playgroud)
?或者我错过了什么?这可能会导致新用户的混淆
也许他们只是忘了创建一个函数imageCreateFromFile()
?
PS.当然我对使用该file_get_contents
方法的内存消耗不感兴趣