- Timestamp:
- 2007/07/20 15:58:59 (16 years ago)
- Location:
- branches/feature-module-update
- Files:
-
- 1 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update
-
Property
svn:ignore
set to
.cache
.settings
.projectOptions
-
Property
svn:ignore
set to
-
branches/feature-module-update/data/include/image_converter.inc
r12157 r15078 1 1 <?php 2 2 /** 3 * ²èÁü¥Õ¥¡¥¤¥ë¤ÎÊÑ´¹¤ò¹Ô¤¦3 * 画像ファイルの変換を行う 4 4 */ 5 5 class ImageConverter { 6 var $outputImageDir; // ÊÑ´¹¸å¤Î²èÁü¤ÎÊݸÀè7 var $outputImageType; // ÊÑ´¹¸å¤Î²èÁü¤Î·Á¼°8 var $outputImageWidth; // ÊÑ´¹¸å¤Î²èÁü¤Î²£Éý9 var $outputImageHeight; // ÊÑ´¹¸å¤Î²èÁü¤Î¹â¤µ10 var $outputImageFileSize; // ÊÑ´¹¸å¤Î²èÁü¤Î¥Õ¥¡¥¤¥ë¥µ¥¤¥º6 var $outputImageDir; // 変換後の画像の保存先 7 var $outputImageType; // 変換後の画像の形式 8 var $outputImageWidth; // 変換後の画像の横幅 9 var $outputImageHeight; // 変換後の画像の高さ 10 var $outputImageFileSize; // 変換後の画像のファイルサイズ 11 11 12 // ¥³¥ó¥¹¥È¥é¥¯¥¿12 // コンストラクタ 13 13 function ImageConverter() { 14 14 $this->outputImageDir = realpath(realpath(dirname(__FILE__))); … … 19 19 } 20 20 21 // ÊÑ´¹¼Â¹Ô21 // 変換実行 22 22 function execute($inputImagePath) { 23 // Á°½èÍý23 // 前処理 24 24 $filestat = @stat($inputImagePath); 25 25 $imagesize = getimagesize($inputImagePath); … … 30 30 $outputImagePath = $this->outputImageDir . '/' . $outputImageName; 31 31 32 // ÊÑ´¹¸å¤Î²èÁü¤Î¹â¤µ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ÊÑ´¹¸å¤Î²èÁü¤Î²£Éý¤«¤éµá¤á¤ë32 // 変換後の画像の高さが指定されていない場合、変換後の画像の横幅から求める 33 33 if (is_null($this->outputImageHeight)) { 34 34 $this->outputImageHeight = $inputImageHeight * ($this->outputImageWidth / $inputImageWidth); 35 35 } 36 36 37 // ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¤«³Îǧ¤·¡¢Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Î¤ßºîÀ®¤¹¤ë37 // ファイルが存在するか確認し、存在しない場合のみ作成する 38 38 if (file_exists($outputImagePath)) { 39 39 $info['convert'] = FALSE; 40 40 } else { 41 // ¸µ¥Õ¥¡¥¤¥ëºîÀ®41 // 元ファイル作成 42 42 switch($inputImageType) { 43 43 case 1: … … 66 66 $outputImagePathTemp = $outputImagePath . '.tmp-' . rand(); 67 67 do { 68 // ¶õ¥Õ¥¡¥¤¥ëºîÀ®68 // 空ファイル作成 69 69 $outputImage = ImageCreateTruecolor($this->outputImageWidth * $scale, $this->outputImageHeight * $scale); 70 70 ImageCopyResampled($outputImage, $tempImage, 0, 0, 0, 0, $this->outputImageWidth * $scale, $this->outputImageHeight * $scale, $inputImageWidth, $inputImageHeight); 71 71 72 // ¥Õ¥¡¥¤¥ë½ÐÎÏ72 // ファイル出力 73 73 74 74 @unlink($outputImagePathTemp); … … 84 84 case 'jpeg': 85 85 $quality = 75; 86 // ɽ¼¨²Äǽ¤Ê¥Õ¥¡¥¤¥ë¥µ¥¤¥º°Ê²¼¤Ë¤Ê¤ë¤Þ¤Ç¡¢10%¤º¤Ä¥¯¥ª¥ê¥Æ¥£¤òÄ´À°¤¹¤ë86 // 表示可能なファイルサイズ以下になるまで、10%ずつクオリティを調整する 87 87 do { 88 88 @unlink($outputImagePathTemp); … … 102 102 } 103 103 104 // ¥á¥â¥ê³«Êü104 // メモリ開放 105 105 imagedestroy($outputImage); 106 106 … … 111 111 rename($outputImagePathTemp, $outputImagePath); 112 112 113 // ¥á¥â¥ê³«Êü113 // メモリ開放 114 114 imagedestroy($tempImage); 115 115
Note: See TracChangeset
for help on using the changeset viewer.