PHP压缩图片
Freigeben: 2016-07-25 08:45:11
Original
965 Leute haben es durchsucht
- function scale_dimensions_within_limits($w,$h,$max_w,$max_h){
- // $w is the width of the current rectangle
- // $h is the height of the current rectangle
- // $max_w is the maximum width that an image can be sized
- // $max_h is the maximum height that an image can be sized
-
- // **** Here's where the magic is starts ****
- // Switch the concept of horiz/vertical/square to long/short side
- $short_side_len = ($w $long_side_len = ($w > $h ? $w : $h);
- // Set a variable to the variable name of the output variable
- $ssvar = ($w > $h ? 'h':'w');
- $lsvar = ($w > $h ? 'w':'h');
- $maxLSvar = "max_".$lsvar;
- $maxSSvar = "max_".$ssvar;
-
- // Do the first pass on the long side
- $ratio = $$maxLSvar/$long_side_len;
- $newSS = round($short_side_len * $ratio);
- $newLS = round($long_side_len * $ratio);
-
- // *** Note - the only coditional block!
- // If short side is still out of limit, limit the short side and adjust
- if($newSS > $$maxSSvar){
- $ratio = $$maxSSvar/$newSS;
- $newLS = round($ratio*$newLS);
- $newSS = $$maxSSvar;
- }
-
- // **** Here's where the magic ends ****
- // Re-couple the h/w (or w/h) with the long/shortside counterparts
- // $$ means it's a variable variable (dynamic assignment)
- $$ssvar = $newSS;
- $$lsvar = $newLS;
-
- // Prep the return array
- $dimensions['w'] = $w; // this is derived from either $ssvar or $lsvar
- $dimensions['h'] = $h; return $dimensions;
- }
复制代码
|
PHP
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
-
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