一覧 |
コード登録画面
イメージ、ラッパークラス [ 2005年03月01日 ]
<?php
class Image_Rapper {
var $_image;
var $_image2;
var $_filename;
// コンストラクタ
function Image_Rapper($filename,$format)
{
if ($format == "png") {
$im = imagecreatefrompng($filename);
} elseif($format == "jpg" || $format == "jpeg") {
$im = imagecreatefromjpeg($filename);
}
$this->_image = $im;
$this->_image2 = "";
$this->_filename = $filename;
}
// GDが使えるかどうか調べる
function check()
{
if (function_exists("imagecreatefrompng")) {
return TRUE;
} else {
return FALSE;
}
}
// 画像サイズを調べる
function size()
{
return getimagesize($this->_filename);
}
// 画像をリサイズする
function resize($to_width, $to_height = "")
{
$src =& $this->_image;
list($width,$height) = $this->size();
// 高さが無効であれば再計算
if ($to_height == "") {
$to_height = ($height * $to_width) / $width;
}
$dst = imagecreatetruecolor($to_width,$to_height);
imagecopyresized($dst,$src,0,0,0,0,$to_width,$to_height,$width,$height);
$this->_image2 = $dst;
}
// 画像を標準出力に出力
function output($format="jpg")
{
if ($this->_image2 != "") {
$im = $this->_image2;
} else {
$im = $this->_image;
}
if ($format == "png") {
imagepng($im);
} elseif($format == "jpg" || $format == "jpeg") {
imagejpeg($im);
}
}
}
/**
* 使い方
*
* // 画像
* $image = new Image_Rapper("sample.jpg","jpg");
* // 画像をリサイズ
* $image->resize(80);
* // 標準出力に画像を出力
* $image->output("png");
*/
?>
投稿者:no-name