2

数か月前、アップロードされた画像を網膜画像で変換する次のスクリプトを作成しましPHP to Retinanon。このスクリプトで動作していた iPhone アプリは PNG 画像のみを使用していたので、PNG で動作するようにスクリプトを作成しました。

$filename = dirname(__FILE__)."/uploads/" . $_FILES['myFile']['name'];
$filename = str_replace('.png', '_retina.png', $filename);
file_put_contents($filename, file_get_contents($_FILES['myFile']['tmp_name']));

$image_info = getimagesize($filename);
$image = imagecreatefrompng($filename);

$width = imagesx($image);
$height = imagesy($image);

$new_width = $width/2.0;
$new_height = $height/2.0;

$new_image = imagecreatetruecolor($new_width, $new_height);

imagealphablending($new_image, false);
imagesavealpha($new_image, true);
$color = imagecolortransparent($new_image, imagecolorallocatealpha($new_image, 0, 0, 0, 127));
imagefill($new_image, 0, 0, $color);

imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

$new_filename = str_replace('_retina.png', '.png', $filename);

imagepng($new_image, $new_filename);

今、同じスクリプトが必要ですが、Jpeg 画像で使用する必要があります。iPhone アプリは高解像度の画像をロードするため、JPEG を選択しました。しかし、私はそれを機能させる方法を理解できません。

私がこれまでに試したこと:

  • imagecreatefrompngjpeg版に差し替え
  • imagepngjpeg版に差し替え

誰かが私を正しい方向に導くことができる実用的な例や便利なリンクを持っていますか?

4

1 に答える 1