2

によると

http://php.net/manual/en/function.imagecreatetruecolor.php

新しいトゥルーカラー画像を作成します

しかし、さらに下には州があります:

... 指定されたサイズの黒い画像を表す画像識別子を返します。

これは、次のように、画像のアップロード (JPEG を作成する) に使用する定型コードの一部です。

private function createFinalJPEG($max, $path)
{
    $this->makeDimensions($max);
    $this->image_y = imagecreatetruecolor($this->new_width, $this->new_height);
    imagecopyresampled($this->image_y, $this->image_z, 0, 0, 0, 0, 
            $this->new_width, $this->new_height,
            $this->original_width, $this->original_height);
    imagejpeg($this->image_y, $path);
    imagedestroy($this->image_y);
}

一般に、最終ファイルを生成するには、中間イメージ表現が非常に多く必要ですか?

imagecreatetruecolor は、imagecopyresampled が使用できるプレース ホルダーとして使用される愚かな黒い画像を作成するだけですか?

それに応じて、image_zの作成方法は次のとおりです。

private function createImageZ($path)
{
    $type_creators = array(
        'image/gif' => 'imagecreatefromgif',
        'image/pjpeg' => 'imagecreatefromjpeg',
        'image/jpeg' => 'imagecreatefromjpeg',
        'image/png' => 'imagecreatefrompng');
    if(array_key_exists($this->fileType, $type_creators))
    {
        $this->image_z = $type_creators[$this->fileType]($path);
        return true;
    }
    return false;
}
4

1 に答える 1