我得到了一個條形碼圖像,並且我想將黑色更改爲任何其他顏色,這看起來會更豐富多彩。如何在PHP中執行操作?如何使用PHP更改圖像中的顏色
3
A
回答
6
如果圖像是單色的,那麼你可以使用imagefilter()功能:
<?php
$image = imagecreatefromjpeg('filename.jpg');
imagefilter($image, IMG_FILTER_COLORIZE, 0, 0, 255); // make it blue!
imagejpeg($image, 'filename.jpg');
+0
偉大的解決方案。我還建議使用gif或png作爲條形碼,因爲jpg可能會有可能導致代碼無法掃描的工件。也請確保您測試條碼,因爲您使用的顏色可能未在所有掃描儀上註冊。條形碼通常是黑白色的,因爲它具有高對比度(並且便宜) – bumperbox
5
結合本網站代碼,並加入少許的我自己,我已經想通了。請享用。
function updateThumb($image, $newColor) {
$img = imagecreatefrompng($image);
$w = imagesx($img);
$h = imagesy($img);
// Work through pixels
for($y=0;$y<$h;$y++) {
for($x=0;$x<$w;$x++) {
// Apply new color + Alpha
$rgb = imagecolorsforindex($img, imagecolorat($img, $x, $y));
$transparent = imagecolorallocatealpha($img, 0, 0, 0, 127);
imagesetpixel($img, $x, $y, $transparent);
// Here, you would make your color transformation.
$red_set=$newColor[0]/100*$rgb['red'];
$green_set=$newColor[1]/100*$rgb['green'];
$blue_set=$newColor[2]/100*$rgb['blue'];
if($red_set>255)$red_set=255;
if($green_set>255)$green_set=255;
if($blue_set>255)$blue_set=255;
$pixelColor = imagecolorallocatealpha($img, $red_set, $green_set, $blue_set, $rgb['alpha']);
imagesetpixel ($img, $x, $y, $pixelColor);
}
}
// Restore Alpha
imageAlphaBlending($img, true);
imageSaveAlpha($img, true);
return $img;
}
function makeThumb($path, $top, $bottom=FALSE) {
$width = imagesx($top);
$height = imagesy($top);
$thumbHeight = $bottom != FALSE ? $height * 2 : $height;
// Create Transparent PNG
$thumb = imagecreatetruecolor($width, $thumbHeight);
$transparent = imagecolorallocatealpha($thumb, 0, 0, 0, 127);
imagefill($thumb, 0, 0, $transparent);
// Copy Top Image
imagecopy($thumb, $top, 0, 0, 0, 0, $width, $height);
// Copy Bottom Image
if ($bottom != FALSE) {
imagecopy($thumb, $bottom, 0, $height, 0, 0, $width, $height);
}
// Save Image with Alpha
imageAlphaBlending($thumb, true);
imageSaveAlpha($thumb, true);
header('Content-Type: image/png');
imagepng($thumb, $path); // save image as png
}
$thumbTop = updateThumb('input/path', array(240,105,15));
相關問題
- 1. 在php中更改圖像的顏色?
- 2. 如何使用php gd更改背景顏色圖像
- 3. 使用imagemagick更改圖像的顏色
- 4. 使用css更改圖像的顏色?
- 5. 如何更改圖像的顏色
- 6. 更改圖像的顏色
- 7. 更改圖像的顏色
- 8. 如何更改PHP中圖像的顏色,保持陰影
- 9. 如何使用numpy更改圖像中的顏色通道?
- 10. 更改顏色使用PHP
- 11. 圖像懸停如何更改顏色
- 12. 使用PHP和Javascript更改圖像的一部分的顏色
- 13. 更改ImagePlus圖像顏色
- 14. 更改圖像顏色
- 15. Java更改圖像顏色
- 16. 如何使用CSS3更改圖像的顏色?
- 17. 更改java中的圖像顏色
- 18. 更改matlab中圖像的顏色
- 19. 更改圖像中的顏色
- 20. 更改圖像中的特定顏色
- 21. 如何在C#.NET中更改圖像的像素顏色
- 22. 如何單獨使用CSS單擊更改圖像顏色?
- 23. 如何使用JES編程更改圖像顏色?
- 24. 如何使用Fabricjs更改圖像顏色?
- 25. 如何使用懸停效果(CSS)更改圖像顏色?
- 26. 如何使用活塞的圖像庫更改圖像顏色類型?
- 27. 使用php更改段落的顏色
- 28. 使用默認顏色更改高圖中列的顏色
- 29. 如何將圖像的背景顏色更改爲綠色?
- 30. 如何將Radwindow加載圖像的顏色更改爲藍色
圖像格式是什麼?它有半色調嗎? – zerkms
不知道這是不是相同的問題,但答案可能會幫助你弄明白:http://stackoverflow.com/questions/1548534/php-replace-colour-within-image – aevanko
常見的格式是jpeg.If其他人,我認爲它可以改變爲jpeg.Thanks你的答案如此之快! – johnvip