php实现图片按比例截取的方法

2025-05-27 0 119

本文实例讲述了php实现图片按比例截取的方法。分享给大家供大家参考,具体如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39
filename = 'img/test.jpg';

$all_type = array(

"jpg" => array("create"=>"ImageCreateFromjpeg", "output"=>"imagejpeg" , "exn"=>".jpg"),

"gif" => array("create"=>"ImageCreateFromGIF" , "output"=>"imagegif" , "exn"=>".gif"),

"jpeg" => array("create"=>"ImageCreateFromjpeg", "output"=>"imagejpeg" , "exn"=>".jpg"),

"png" => array("create"=>"imagecreatefrompng" , "output"=>"imagepng" , "exn"=>".png"),

"wbmp" => array("create"=>"imagecreatefromwbmp", "output"=>"image2wbmp" , "exn"=>".wbmp")

);

$imgtype = getimagesize($filename);

$width = $imgtype[0];

$height = $imgtype[1];

$type = str_replace('image/','',$imgtype['mime']);

$func_create = $all_type[$type]['create'];

$func_output = $all_type[$type]['output'];

$x = $y =0;

if(($width * 100)>($height * 120))

{

$newwidth = ceil($height * 120/100);

$newheight = $height;

$x = ($width-$newwidth)/2;

}

elseif(($width * 100)<($height * 120))

{

$newheight = ceil($width * 100/120);

$newwidth = $width;

$y = ($height-$newheight)/2;

}

else

{

$newheight = $height;

$newwidth = $width;

}

// Load

$thumb = imagecreatetruecolor($newwidth, $newheight);

$source = $func_create($filename);

// Resize

imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $newwidth, $newheight);

// Output

$func_output($thumb,'a.jpeg');

希望本文所述对大家PHP程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 php实现图片按比例截取的方法 https://www.kuaiidc.com/73895.html

相关文章

发表评论
暂无评论