首頁 > 後端開發 > php教程 > php動態處理圖片後輸出顯示

php動態處理圖片後輸出顯示

WBOY
發布: 2016-07-25 08:43:06
原創
1208 人瀏覽過
php动态改变图片尺寸后输出,输出图片时使用下面的地址:
image_resize.php?img=image.jpg&w=150&h=150&constrain=1
w和h为要显示的尺寸
  1. header ("Content-type: image/jpeg");
  2. /*
  3. JPEG / PNG Image Resizer
  4. Parameters (passed via URL):
  5. img = path / url of jpeg or png image file
  6. percent = if this is defined, image is resized by it's
  7. value in percent (i.e. 50 to divide by 50 percent)
  8. w = image width
  9. h = image height
  10. constrain = if this is parameter is passed and w and h are set
  11. to a size value then the size of the resulting image
  12. is constrained by whichever dimension is smaller
  13. Requires the PHP GD Extension
  14. Outputs the resulting image in JPEG Format
  15. By: Michael John G. Lopez - www.sydel.net
  16. Filename : imgsize.php
  17. */
  18. $img = $_GET['img'];
  19. $percent = $_GET['percent'];
  20. $constrain = $_GET['constrain'];
  21. $w = $_GET['w'];
  22. $h = $_GET['h'];
  23. // get image size of img
  24. $x = @getimagesize($img);
  25. // image width
  26. $sw = $x[0];
  27. // image height
  28. $sh = $x[1];
  29. if ($percent > 0) {
  30. // calculate resized height and width if percent is defined
  31. $percent = $percent * 0.01;
  32. $w = $sw * $percent;
  33. $h = $sh * $percent;
  34. } else {
  35. if (isset ($w) AND !isset ($h)) {
  36. // autocompute height if only width is set
  37. $h = (100 / ($sw / $w)) * .01;
  38. $h = @round ($sh * $h);
  39. } elseif (isset ($h) AND !isset ($w)) {
  40. // autocompute width if only height is set
  41. $w = (100 / ($sh / $h)) * .01;
  42. $w = @round ($sw * $w);
  43. } elseif (isset ($h) AND isset ($w) AND isset ($constrain)) {
  44. // get the smaller resulting image dimension if both height
  45. // and width are set and $constrain is also set
  46. $hx = (100 / ($sw / $w)) * .01;
  47. $hx = @round ($sh * $hx);
  48. $wx = (100 / ($sh / $h)) * .01;
  49. $wx = @round ($sw * $wx);
  50. if ($hx < $h) {
  51. $h = (100 / ($sw / $w)) * .01;
  52. $h = @round ($sh * $h);
  53. } else {
  54. $w = (100 / ($sh / $h)) * .01;
  55. $w = @round ($sw * $w);
  56. }
  57. }
  58. }
  59. $im = @ImageCreateFromJPEG ($img) or // Read JPEG Image
  60. $im = @ImageCreateFromPNG ($img) or // or PNG Image
  61. $im = @ImageCreateFromGIF ($img) or // or GIF Image
  62. $im = false; // If image is not JPEG, PNG, or GIF
  63. if (!$im) {
  64. // We get errors from PHP's ImageCreate functions...
  65. // So let's echo back the contents of the actual image.
  66. readfile ($img);
  67. } else {
  68. // Create the resized image destination
  69. $thumb = @ImageCreateTrueColor ($w, $h);
  70. // Copy from image source, resize it, and paste to image destination
  71. @ImageCopyResampled ($thumb, $im, 0, 0, 0, 0, $w, $h, $sw, $sh);
  72. // Output resized image
  73. @ImageJPEG ($thumb);
  74. }
  75. ?>
复制代码

php


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板