PHP가 이미지를 동적으로 처리한 후 출력 표시
풀어 주다: 2016-07-25 08:43:06
php动态改变图片尺寸后输出,输出图片时使用下面的地址:
image_resize.php?img=image.jpg&w=150&h=150&constrain=1
w和h为要显示的尺寸
- header ("Content-type: image/jpeg");
- /*
- JPEG / PNG Image Resizer
- Parameters (passed via URL):
-
- img = path / url of jpeg or png image file
-
- percent = if this is defined, image is resized by it's
- value in percent (i.e. 50 to divide by 50 percent)
-
- w = image width
-
- h = image height
-
- constrain = if this is parameter is passed and w and h are set
- to a size value then the size of the resulting image
- is constrained by whichever dimension is smaller
-
- Requires the PHP GD Extension
-
- Outputs the resulting image in JPEG Format
-
- By: Michael John G. Lopez - www.sydel.net
- Filename : imgsize.php
- */
-
- $img = $_GET['img'];
- $percent = $_GET['percent'];
- $constrain = $_GET['constrain'];
- $w = $_GET['w'];
- $h = $_GET['h'];
-
- // get image size of img
- $x = @getimagesize($img);
- // image width
- $sw = $x[0];
- // image height
- $sh = $x[1];
-
- if ($percent > 0) {
- // calculate resized height and width if percent is defined
- $percent = $percent * 0.01;
- $w = $sw * $percent;
- $h = $sh * $percent;
- } else {
- if (isset ($w) AND !isset ($h)) {
- // autocompute height if only width is set
- $h = (100 / ($sw / $w)) * .01;
- $h = @round ($sh * $h);
- } elseif (isset ($h) AND !isset ($w)) {
- // autocompute width if only height is set
- $w = (100 / ($sh / $h)) * .01;
- $w = @round ($sw * $w);
- } elseif (isset ($h) AND isset ($w) AND isset ($constrain)) {
- // get the smaller resulting image dimension if both height
- // and width are set and $constrain is also set
- $hx = (100 / ($sw / $w)) * .01;
- $hx = @round ($sh * $hx);
-
- $wx = (100 / ($sh / $h)) * .01;
- $wx = @round ($sw * $wx);
-
- if ($hx < $h) {
- $h = (100 / ($sw / $w)) * .01;
- $h = @round ($sh * $h);
- } else {
- $w = (100 / ($sh / $h)) * .01;
- $w = @round ($sw * $w);
- }
- }
- }
-
- $im = @ImageCreateFromJPEG ($img) or // Read JPEG Image
- $im = @ImageCreateFromPNG ($img) or // or PNG Image
- $im = @ImageCreateFromGIF ($img) or // or GIF Image
- $im = false; // If image is not JPEG, PNG, or GIF
-
- if (!$im) {
- // We get errors from PHP's ImageCreate functions...
- // So let's echo back the contents of the actual image.
- readfile ($img);
- } else {
- // Create the resized image destination
- $thumb = @ImageCreateTrueColor ($w, $h);
- // Copy from image source, resize it, and paste to image destination
- @ImageCopyResampled ($thumb, $im, 0, 0, 0, 0, $w, $h, $sw, $sh);
- // Output resized image
- @ImageJPEG ($thumb);
- }
- ?>
复制代码
|
PHP
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31