ディスクに書き込むことなく、(任意の形式の) 画像を jpeg に変換できるかどうかを知りたいですか?
$im = new imagick($url . $image);
$im->setImageFormat('jpg');
$im->writeImage($image .".png");
// I dont want this..I want to use a variable or
// something to get that image in jpeg format.
これに関する私のポイントは非常に単純です。JPEG および PNG 形式の画像があります。ご存じのとおり、PNG は使用される長さの点ではるかに大きくなります。したがって、画像を JPEG に変換してから、そのバイト数 [] を取得する必要があります。
現在、すべての画像 (拡張子に関係なく) を問題なく bytes[] に変換しています。しかし、私はJPEGで画像を変換したいだけだと言いました.JPEGではない画像をJPEGに変換する必要があります。
// My current code to convert to bytes
$url_final = 'C:\\xampp\\htdocs\\MyExample\\image\\' . $image;
// The var $image comes from Database with extension
$fp = fopen($url_final, 'r');
$data = fread($fp, filesize($url_final));
fclose($fp);
$final_data = base64_encode($data);
これを行うためのオプションは、一時画像ファイルを書き込むことだけでしょうか?