PHP實現圖片壓縮
/** * 生成圖片 * @param string $im 源圖片路徑 * @param string $dest 目標圖片路徑 * @param int $maxwidth 生成圖片寬 * @param int $maxheight 生成圖片高 */ function resizeImage($im, $dest, $maxwidth, $maxheight) { $img = getimagesize($im); switch ($img[2]) { case 1: $im = @imagecreatefromgif($im); break; case 2: $im = @imagecreatefromjpeg($im); break; case 3: $im = @imagecreatefrompng($im); break; } $pic_width = imagesx($im); $pic_height = imagesy($im); $resizewidth_tag = false; $resizeheight_tag = false; if (($maxwidth && $pic_width > $maxwidth) || ($maxheight && $pic_height > $maxheight)) { if ($maxwidth && $pic_width > $maxwidth) { $widthratio = $maxwidth / $pic_width; $resizewidth_tag = true; } if ($maxheight && $pic_height > $maxheight) { $heightratio = $maxheight / $pic_height; $resizeheight_tag = true; } if ($resizewidth_tag && $resizeheight_tag) { if ($widthratio < $heightratio) $ratio = $widthratio; else $ratio = $heightratio; } if ($resizewidth_tag && !$resizeheight_tag) $ratio = $widthratio; if ($resizeheight_tag && !$resizewidth_tag) $ratio = $heightratio; $newwidth = $pic_width * $ratio; $newheight = $pic_height * $ratio; if (function_exists("imagecopyresampled")) { $newim = imagecreatetruecolor($newwidth, $newheight); imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $pic_width, $pic_height); } else { $newim = imagecreate($newwidth, $newheight); imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $pic_width, $pic_height); } imagejpeg($newim, $dest); imagedestroy($newim); } else { imagejpeg($im, $dest); } } /** * 圖片壓縮處理 * @param string $sFile 源圖片路徑 * @param int $iWidth 自定義圖片寬度 * @param int $iHeight 自定義圖片高度 * @return string 壓縮後的圖片路徑 */ function getThumb($sFile,$iWidth,$iHeight){ //圖片公共路徑 $public_path = ''; //判斷該圖片是否存在 if(!file_exists($public_path.$sFile)) return $sFile; //判斷圖片格式(圖片檔案字尾) $extend = explode("." , $sFile); $attach_fileext = strtolower($extend[count($extend) - 1]); if (!in_array($attach_fileext, array('jpg','png','jpeg'))){ return ''; } //壓縮圖片檔名稱 $sFileNameS = str_replace(".".$attach_fileext, "_".$iWidth.'_'.$iHeight.'.'.$attach_fileext, $sFile); //判斷是否已壓縮圖片,若是則返回壓縮圖片路徑 if(file_exists($public_path.$sFileNameS)){ return $sFileNameS; } //生成壓縮圖片,並存儲到原圖同路徑下 resizeImage($public_path.$sFile, $public_path.$sFileNameS, $iWidth, $iHeight); if(!file_exists($public_path.$sFileNameS)){ return $sFile; } return $sFileNameS; }
使用例項:
//原圖 img/img.jpg
//生成壓縮圖 img/img_300_300.jpg
getThumb('img/img.jpg',300,300);
相關推薦
PHP實現圖片壓縮同時保持清晰度
縮小 con col inf turn 清晰 實驗 www lower PHP實現圖片壓縮同時保持清晰度 圖片太大是一個經常遇到的問題,為此很多人頭疼。今天告訴大家如何實現PHP程序簡單實現壓縮: 圖片原大小: 壓縮後: 這是我自己實驗的,可以處理多種圖片格式。 當然圖
php實現圖片壓縮依舊保持清晰度
PHP實現圖片壓縮同時保持清晰度圖片太大是一個經常遇到的問題,為此很多人頭疼。今天告訴大家如何實現PHP程式簡單實現壓縮:圖片原大小:壓縮後:這是我自己實驗的,可以處理多種圖片格式。當然圖片原圖越大,越能體現出壓縮來。現在附上程式碼:<?php /** * 圖片壓縮類
PHP實現圖片壓縮
/** * 生成圖片 * @param string $im 源圖片路徑 * @param string $dest 目標圖片路徑 * @param int $maxwidth 生成圖片寬 * @param int $maxheight 生成圖片高 */ func
Jquery+HTML5+PHP實現前臺壓縮圖片並上傳
先上圖吧: 待上傳 上傳後 功能描述: 使用HTML5在前臺進行圖片壓縮,然後上傳至伺服器上由PHP儲存。此外掛只適用於PC端,未做手機端頁面優化,如果需要應用在手機端請自行優化UI,即然是PC端為什麼還要前端壓縮呢?PC端很容易使用圖片處理軟體進行壓縮,那是適用於
php實現ZIP壓縮文件解壓縮
pre tin zip壓縮 trac 存在 fun pcl 截取 ech 測試使用了兩個辦法都可以實現: 第一個:需要開啟配置php_aip.dll 1 <?php 2 //需開啟配置 php_zip.dll 3 //phpinfo(); 4 header(
(轉)Android學習-使用Async-Http實現圖片壓縮並上傳功能
activit 一次 make down cte hot for lfw ram (轉)Android學習-使用Async-Http實現圖片壓縮並上傳功能 文章轉載自:作者:RyaneLee鏈接:http://www.jianshu.com/p/940fc7ba39e1
springboot整合thumbnailator實現圖片壓縮
ins 成功 ioe bstr case 圖片壓縮 lte 情況 tid springboot整合thumbnailator實現圖片壓縮 前言 最近由於首頁產品列表圖片顯示太慢,經過研究發現是用戶上傳的圖片太大。 針對這個問題,想到的解決方案是: 1、 產品上傳時,
java使用google開源工具實現圖片壓縮
前言 作為靠譜的java服務端程式設計師,圖片這個事情一直是個頭疼的事情。 現在很多網站上,都有上傳圖片這個功能,而圖片對於現在的很多手機來說,拍攝出來的都是高清圖片,解析度也是相當的高,當然佔用的儲存空間也就大了。問題也就產生了,你每個使用者都上傳個3M的圖片怎麼辦?
【前端】js+php實現圖片拖拽上傳
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>拖拽圖片上傳</title> </head> <body>
Java實現圖片壓縮程式碼,圖片大小轉換
package org.util; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.awt.image.CropImageFilter; import jav
Apache httpd + php實現圖片縮圖訪問
Apache httpd + php + imagic 實現圖片縮圖訪問 環境:CentOS7, Apache httpd 2.4, php 5.4.16 實現思路 利用httpd的重寫規則把特殊的URL訪問對映到PHP指令碼,實現縮圖的返回。PHP利
PHP實現圖片加文字/圖案水印
需求:在一張背景圖上新增二維碼(帶不同),並且個人名字,聯絡方式和個人頭像。 思路:二維碼和頭像相當於往圖片上新增圖片,個人姓名和聯絡方式相當於玩圖片上新增文字,這就是文字/圖案水印了。思路就是上網百度!! $dst_path = 'dst.jpg';
基於canvas實現圖片壓縮
用法: compressImg(target.files[0], 2).then(base64 => { console.log(base64) // 在這裡實現壓縮後的上傳操作 // ... }).catch(err => { // 壓縮異常 Indicator.c
Android中利用Picasso實現圖片壓縮指定任意尺寸
之前做專案時,有個需求是指定照片壓縮到任意寬高尺寸上傳給伺服器。當時我自己寫了個圖片壓縮方法,但是不夠完美,小問題不斷(比如OOM之類的)。後來看到了神器Picasso不光能載入網路圖片,還能以任意尺寸載入本地圖片。於是我想,既然Picasso能任意尺寸載入本地圖片,那它肯
php實現圖片縮放,超詳細註釋
<?php //header("content-type:image/png"); * @todo 把一張圖片按照使用者定義的高寬進行縮放,並把處理後的圖片重新命名,放在指定資料夾 * @param string $width:使用者定義的需要處理成的目標寬度 * @param string
PHP實現圖片上傳至阿里雲OSS
今天博主在實現一個頭像上傳功能,需要將圖片上傳至阿里雲的OSS,所以也是百度、谷歌了一番,但都不是很管用,所以自己研究了一番,並將上傳的方法封裝成一個類進行呼叫,下面向大家分享這個過程,在這之前先下載阿里雲OSS的SDK。 &n
php簡單圖片壓縮,基於laravel框架的原生處理
if($image->getClientMimeType() == "image/png"){//圖片格式$src = @imagecreatefrompng ($image->getRealPath()); //建立畫布,從快取檔案路徑載入圖片list($wi
php 實現圖片的裁剪
例如上傳頭像時,或展示影象時,展示的圖片大小不一,所以就需要把的圖片裁剪一下<?php $src_path = 'localhost/1.jpg';//建立源圖的例項, 從字串中的影象流新建一副影象$src = imagecreatefromstring(file_ge
微信小程式呼叫攝像頭,實現圖片壓縮上傳
這篇文章主要為大家詳細介紹了微信小程式實現圖片壓縮功能,具有一定的參考價值,感興趣的小夥伴們可以參考一下,下面直接上程式碼 先是wxml: <view bindtap='takePictures'>選擇圖片</view> <canv
imgareaselect + php實現圖片裁剪
簡介 使用 引用css /js/jquery.imgareaselect-0.9.10/css/imgareaselect-default.css 引用js /j