PHP GD ライブラリを使用して、不透明な白の画像リソースを生成します。この画像リソースは、あちこちに「穴」があり、完全に透明なディスク形状です。以下に添付しましたが、背景が青っぽいため、最初に保存してイメージプレビューアプリケーションで開く必要があります (Windows の場合)。そうしないと、白しか見えません。
元の画像:
2550 x 3000 ピクセルの画像リソースから、小さいバージョンを作成する必要があります。を使用してそうしimagecopyresampled()
ます。結果の画像はすべて問題ありませんが、1 つの例外があります。ところどころに灰色のピクセル (RGB: 254,254,254) が含まれています。
サイズ変更された画像:
私が使用するコードの一部は次のとおりです。
$previewPxWidth = $this->viewportWidth_;
$previewPxHeight = round($this->viewportWidth_ / $schematic['paper.aspect.ratio']);
$preview = imagecreatetruecolor($previewPxWidth, $previewPxHeight);
$noColor = imagecolorallocatealpha($preview, 255, 255, 255, 127);
imagesavealpha($preview,true);
imagefill($preview, 0, 0, $noColor);
imagecopyresampled($preview, $sheet, 0, 0, 0, 0, $previewPxWidth, $previewPxHeight, $sheetPxWidth, $sheetPxHeight);
imagedestroy($sheet);
header("Content-type: image/png");
header("Content-disposition: inline; filename=image.png");
imagepng($preview);
これらの非常に明るく(明らかに)ランダムに配置された灰色のピクセルはどこから来て、どうすればそれらを取り除くことができますか?