php pngの歪みの原因と解決策
2022-01-14 23:27:44
1. PHPのサンプルファイルを作成します。
2. 背景画像と同じ大きさのトゥルーカラーキャンバスを作成する。
3. 背景画像をコピーします。
4、「imagecreatefrompng」でpng画像を合成する。
使用例
<?php
ob_clean();
$bg = "image1.png";
$image_1 = imagecreatefrompng($bg);
$bgx = imagesx($image_1);
$bgy = imagesy($image_1);
//create a true-color canvas the same size as the background image (ps: this is the only way to ensure that the image will not be distorted when copied later)
$bgimage = imageCreatetruecolor($bgx,$bgy);
imagesavealpha($bgimage, true);//keep transparent
imagealphablending($bgimage, true);//blend mode
$alpha = imagecolorallocatealpha($bgimage, 0, 0, 0, 127);/ imagefill($bgimage, 0, 0, $alpha);
//copy the background image
imagecopyresampled($bgimage,$image_1,0,0,0,0,$bgx,$bgy,$bgx,$bgy);
$fontColor = imagecolorallocate($bgimage,0x33,0x33,0x33);
$image_2 = imagecreatefrompng( "image2.png");
//composite image 2
imagecopyresampled($bgimage, $image_2, 100, 100, 0, 0, 40, 40, imagesx($image_2) , imagesy($image_2));
/ $textLen = mb_strlen($text1);
$fontSize = 20;
$fontWidth = imagefontwidth($fontSize)*3;//I don't know why, but it's tested
$textWidth = $fontWidth * mb_strlen($text1);
$textx = ceil ( ($bgx - $textWidth) / 2 );
imageTTFText($bgimage, $fontSize, 0, $textx, 450, $fontColor, $font , $text1);
$result = imagepng($bgimage,"newimage.png");
imagedestroy($bgimage);
imagedestroy($qrcode);
その他の関連ソリューション
PHPは、マージ画像の歪み問題を解決します。
$ni = imagecreatetruecolor($toW,$toH); //create true color image
$bg_x = (($toW-$ftoW)/2);
$bg_y = (($toH-$ftoH)/2);
$color=imagecolorallocate($ni,255,255,255); //create color
imagefill($ni, 0, 0, $color); //set white background
imagecopy($ni,$tm,$bg_x,$bg_y,0,0,$ftoW,$ftoH); //merge images
imagedestroy($tm);
php pngの歪みの原因と解決策についての記事です。php png歪みについては、BinaryDevelopの過去記事を検索していただくか、引き続き以下の関連記事をご覧ください。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン