move_uploaded_file() 経由でアップロードした pdf ファイルから情報を取得しようとしています。
色分析を行うには、各ページのサムネイルが必要です。さらに、各ページの幅と高さを実際の距離単位 (ピクセルではありません) で指定する必要があります。
imagemagickではなくimagickでpdfから画像への変換を行う方法はありますか。色分析に imagick インスタンスを使用しているからです。
現在、これは単一の画像ファイルでは機能しますが、複数ページの PDF では機能しません。知ってどうする…?
/* Read the image */
$im = new Imagick($file);
/* Thumbnail the image */
$im->thumbnailImage(null, 200);
/* Overwrite it */
file_put_contents($file, $im);
/* Gather Info */
$width = $im->getImageWidth();
$height = $im->getImageHeight();
$ratio = $width / $height;
/* Calculate gray */
$pixel_count = 0;
$sum_gray = 0;
for ($row=0;$row<$height;$row++) {
for ($col=0;$col<$width;$col++) {
$pixel = $im->getImagePixelColor($col, $row);
$rgb = $pixel->getColor();
$this_gray = .299*$rgb['r'] + .587*$rgb['g'] + .114*$rgb['b'];
$sum_gray += $this_gray;
$pixel_count++;
}
}
$gray = (1-($sum_gray / $pixel_count) / 256)*100;
高さと幅の情報を取得する方法を知っている人がいたら、教えてください。
助けてくれてありがとう!