データベースから小さな部分の画像をカットしようとしています。ここに私のコード:PHPの文字列がintで動作しない
$image = imagecreatefromjpeg($filename);
$width = $row['width'];
$height = $row['height'];
$new_width = 480;
$new_height = 360;
$offset_x = (int)(round($height*360/$width));//100
$offset_y = 0;
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopy($new_image, $image, 0, 0, $offset_x, $offset_y, $width, $height);
imagejpeg($new_image,$newimg);
しかしライン$offset_x
で、(int)(round($height*360/$width))
が機能していません。 intval
を入れた場合、100
のように、すべてimages
はうまくカットされますが、オフセット位置は喜ばしくありません。だからどのようにtrue string to int
に?
ところで:この場合、foreach
でデータベースから画像を呼び出して切り取ります。このコードの後にforeachでunset
を入力する必要がありますか?
$行はどこに設定されていますか? $ heightと$ widthの値は何ですか? – ben
多分try intval $ offset_x = intval(round($ height * 360/$ width)); http://fp.net/manual/en/function.intval.php – rogerlsmith
@ben、 '$ height'、' $ width'から 'mysql query => $ row ['width']と$ row [']高さ '] '。 –