Maison > développement back-end > tutoriel php > php动态处理图片后输出显示

php动态处理图片后输出显示

WBOY
Libérer: 2016-07-25 08:43:06
original
1208 Les gens l'ont consulté
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 = (100 / ($sw / $w)) * .01;
  51. $h = @round ($sh * $h);
  52. } else {
  53. $w = (100 / ($sh / $h)) * .01;
  54. $w = @round ($sw * $w);
  55. }
  56. }
  57. }
  58. $im = @ImageCreateFromJPEG ($img) or // Read JPEG Image
  59. $im = @ImageCreateFromPNG ($img) or // or PNG Image
  60. $im = @ImageCreateFromGIF ($img) or // or GIF Image
  61. $im = false; // If image is not JPEG, PNG, or GIF
  62. if (!$im) {
  63. // We get errors from PHP's ImageCreate functions...
  64. // So let's echo back the contents of the actual image.
  65. readfile ($img);
  66. } else {
  67. // Create the resized image destination
  68. $thumb = @ImageCreateTrueColor ($w, $h);
  69. // Copy from image source, resize it, and paste to image destination
  70. @ImageCopyResampled ($thumb, $im, 0, 0, 0, 0, $w, $h, $sw, $sh);
  71. // Output resized image
  72. @ImageJPEG ($thumb);
  73. }
  74. ?>
复制代码

php


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal