您現在的位置是:電腦技術吧?>? 組裝維修 ??>??不經過壓縮的圖像文件格式,用于壓縮靜止圖像??>??正文詳情

不經過壓縮的圖像文件格式,用于壓縮靜止圖像

塞霞飛2019-12-17 12:22:40 人圍觀
簡介如何壓縮jpg圖片在iPhone上讀取圖像數據有兩種簡單的方法:uiimagejpegresentation和uiimagepngrepresentation。uiImageJP壓縮頭像

在Iphone上有兩種讀取圖片數據的簡單方法: UIImageJPEGRepresentation和UIImagePNGRepresentation. UIImageJPEGRepresentation函數需要兩個參數:圖片的引用和壓縮系數.而UIImagePNGRepresentation只需要圖片引用作為參數.  方法一:  代碼如下:  - (UIImage*)scaleFromImage:(UIImage*)image scaledToSize:(CGSize)newSize  {  CGSize imageSize = image.size;  CGFloat width = imageSize.width;  CGFloat height = imageSize.height;  if (width = newSize.width height = newSize.height){  return image;  }  if (width == 0 || height == 0){  return image;  }  CGFloat widthFactor = newSize.width / width;  CGFloat heightFactor = newSize.height / height;  CGFloat scaleFactor = (widthFactor  CGFloat scaledWidth = width * scaleFactor;  CGFloat scaledHeight = height * scaleFactor;  CGSize targetSize = CGSizeMake(scaledWidth,scaledHeight);  UIGraphicsBeginImageContext(targetSize);  [image drawInRect:CGRectMake(0,0,scaledWidth,scaledHeight)];  UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();  UIGraphicsEndImageContext();  return newImage;  }  方法二:  .h具體code   代碼如下:  #import   @interface UIImage (UIImageExt)  - (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size;  - (UIImage *)imageByScalingAndCroppingForSize:(CGSize)targetSize;  @end  .m具體code   代碼如下:  #import UIImageExt.h  @implementation UIImage (UIImageExt)  - (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{  // 創建一個bitmap的context  // 并把它設置成為當前正在使用的context  UIGraphicsBeginImageContext(size);  // 繪制改變大小的圖片  [img drawInRect:CGRectMake(0, 0, size.width, size.height)];  // 從當前context中創建一個改變大小后的圖片  UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();  // 使當前的context出堆棧  UIGraphicsEndImageContext();  // 返回新的改變大小后的圖片  return scaledImage;  }  - (UIImage*)imageByScalingAndCroppingForSize:(CGSize)targetSize  {  UIImage *sourceImage = self;  UIImage *newImage = nil;  CGSize imageSize = sourceImage.size;  CGFloat width = imageSize.width;  CGFloat height = imageSize.height;  CGFloat targetWidth = targetSize.width;  CGFloat targetHeight = targetSize.height;  CGFloat scaleFactor = 0.0;  CGFloat scaledWidth = targetWidth;  CGFloat scaledHeight = targetHeight;  CGPoint thumbnailPoint = CGPointMake(0.0,0.0);  if (CGSizeEqualToSize(imageSize, targetSize) == NO)  {  CGFloat widthFactor = targetWidth / width;  CGFloat heightFactor = targetHeight / height;  if (widthFactor heightFactor)  scaleFactor = widthFactor; // scale to fit height  else  scaleFactor = heightFactor; // scale to fit width  scaledWidth = width * scaleFactor;  scaledHeight = height * scaleFactor;  // center the image  if (widthFactor heightFactor)  {  thumbnailPoint.y = (targetHeight - scaledHeight) * 0.5;  }  else  if (widthFactor heightFactor)  {  thumbnailPoint.x = (targetWidth - scaledWidth) * 0.5;  }  }  UIGraphicsBeginImageContext(targetSize); // this will crop  CGRect thumbnailRect = CGRectZero;  thumbnailRect.origin = thumbnailPoint;  thumbnailRect.size.width = scaledWidth;  thumbnailRect.size.height = scaledHeight;  [sourceImage drawInRect:thumbnailRect];  newImage = UIGraphicsGetImageFromCurrentImageContext();  if(newImage == nil)  NSLog(@could not scale image);  //pop the context to get back to the default  UIGraphicsEndImageContext();  return newImage;  }  @end  方法三:(本人項目中使用的方法)   代碼如下:  -(UIImage *) imageCompressForWidth:(UIImage *)sourceImage targetWidth:(CGFloat)defineWidth  {  CGSize imageSize = sourceImage.size;  CGFloat width = imageSize.width;  CGFloat height = imageSize.height;  CGFloat targetWidth = defineWidth;  CGFloat targetHeight = (targetWidth / width) * height;  UIGraphicsBeginImageContext(CGSizeMake(targetWidth, targetHeight));  [sourceImage drawInRect:CGRectMake(0,0,targetWidth, targetHeight)];  UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();  UIGraphicsEndImageContext();  return newImage;  }  以上所述就是本文的全部內容了,希望大家能夠喜歡。

版權聲明:本文由 塞霞飛 整理編輯。

原標題:jpg壓縮,如何壓縮圖片大小

轉載注明出處:http://www.dn9ww09s.icu/assemble/15503.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 如何做app,app怎么做出來的

    如何做app,app怎么做出來的 相關圖片app好做嗎第一個坑:以蘋果手表為中心,以手表為核心的設計是不是錯了?我知道這聽起來很奇怪,但事實上,我們看到的最好的蘋果手表應用程序并不是那些以桌面功能為核心的應用...

  • 掛起線程,websphere線程掛起

    掛起線程,websphere線程掛起 相關圖片linux線程掛起但有時,我們希望主線程等待IO操作完成。例如,在主線程創建文件夾后,等待完成,然后在文件夾中創建文件。nsobject類有一個方法performselectorQt線程的掛起和恢復...

  • A/C,C-5

    A/C,C-5 相關圖片7c本文共享了使用objective C從遠程url下載圖片的兩種方法,它們都用于個人項目。這些建議是向您簡要介紹的,可供需要的小伙伴參考。目標C從遠程URL下載圖c=...

  • ios有psp模擬器嗎,ios用psp模擬器

    ios有psp模擬器嗎,ios用psp模擬器 相關圖片蘋果psp模擬器卡很多童鞋喜歡在PSP上玩游戲,所以他們需要PSP設備嗎?現在有一個流行的PSP模擬器ppssp,它不僅可以在電腦上使用,也可以在Android手機蘋果手機上使用蘋果玩psp模擬器...

  • C內核開發,IDEA可以開發C號碼

    C內核開發,IDEA可以開發C號碼 相關圖片linux系統下C開發步驟1:創建一個項目start Xcode-file-New-project。然后創建一個IOS單視圖應用程序。在這里我們將其命名為類別。步驟2:立即創建類別開源C開發工具...

  • 點擊文本進行復制,html文本可點擊

    點擊文本進行復制,html文本可點擊 相關圖片點擊單元格出現文本本文的示例描述了JavaScript通過單擊自動選擇textarea文本的方法。與您分享以供參考。具體實現方法如下:?1234texrea rows=10 co如何設置網頁點擊文本就可以復制...

  • 3d動態全景 華為,福彩3D

    3d動態全景 華為,福彩3D 相關圖片動態鎖屏目前,我們忽略z軸(以便我們可以在平面中更清楚地看到),并且假設z軸坐標都是0。假設游戲中有兩個軌跡點在動態增加和變化。最后,這兩個變化軌跡點的組合就是它們生...

  • 如何將數據導入excel,將excel數據導入word

    如何將數據導入excel,將excel數據導入word 相關圖片excel數據導入mysql簡介:工程中經常使用excel導入數據和excel導入數據庫的功能。相關內容已搜索過。總結使用的方案。方案一npoi npoi是。POI項目的網絡版本。POI是表格數據導入cad...

  • access數據庫和mysql,access數據庫與mysql

    access數據庫和mysql,access數據庫與mysql 相關圖片mysql數據庫一。軟件簡介db2mysql是一款能夠自動將access數據庫文件轉換成相應SQL代碼的軟件。它可以廣泛應用于access數據庫到MySQL或其他類型SQL數據mysql access...

  • 自定義標簽在哪,自定義標簽是什么意思

    自定義標簽在哪,自定義標簽是什么意思 相關圖片自定義個性標簽大全一。JSP標記的好處不再冗長。數據字典是使用的下拉框。只要定義了字典,就會顯示字典的可用內容。只要定義了字典和屬性值,就會顯示字典的顯示值。2。首先定...

熱評文章

  • ios 動畫,ios新動畫

    ios 動畫,ios新動畫 相關圖片ios12動畫效果uiview類執行自動執行動畫所需的工作,但在您要執行動畫時仍會通知視圖,因此需要將更改屬性的代碼包裝成代碼塊。一。uiview動畫的特定創建方法-(void)ios10過渡動畫...

  • 黑雷ios模擬器,ios安卓模擬器

    黑雷ios模擬器,ios安卓模擬器 相關圖片ios有電腦模擬器嗎IOS模擬器是一種輔助工具,可以在Mac環境下開發程序和IOS平臺程序。IOS模擬器是Xcode的一部分,Xcode是蘋果自己的IOS開發程序,可以免費下載!I電腦ios模擬器...

  • Pregreplace,preg_replace空

    Pregreplace,preg_replace空 相關圖片數據庫replace函數本文的例子描述了PHP正則preg_replace_回調函數的使用。與您分享以供參考。具體實現方法如下:PHP正則表達式功能強大,本例演示preg﹣replacstr_replace關鍵詞替換...

  • 敲代碼用什么鍵盤,適合敲代碼的鍵盤

    敲代碼用什么鍵盤,適合敲代碼的鍵盤 相關圖片akko鍵盤怎么樣本文主要介紹了IOS對鍵盤色碼的修改,非常簡單實用。如果你需要的話,可以參考一下。IOS可以更改iPhone和iPod touch的鍵盤顏色代碼。實際上,iPh紅軸鍵盤...

  • asp 代碼,asp不用的代碼

    asp 代碼,asp不用的代碼 相關圖片asp時間代碼ASP語言是網站建設的重要工具之一,具有很強的技術性和適用性。ASP制作教程為您詳細介紹了部分代碼。一。Oncontextmenu=窗口。事件。ReturnVaasp時間輸入代碼...

  • 交互原型是什么,網頁交互原型

    交互原型是什么,網頁交互原型 相關圖片產品交互原型圖許多用戶體驗和項目管理的學生仍然習慣于使用傳統的Axure RP制作產品原型。作者認為,Axure-RP在IOS原型階段仍然具有優勢,例如,它可以促進交互模式的在線交互原型...

  • java開發工具比較,Java可視化開發工具

    java開發工具比較,Java可視化開發工具 相關圖片java開發工具排行在計算機開發語言的歷史上,從來沒有一種語言能像Java那樣得到這么多廠商和開發工具的支持。誠然,這些工具有其自身的優勢,并非絕對完美。即使是老鳥也很難做出...

  • asp控件如何使用,asp控件添加

    asp控件如何使用,asp控件添加 相關圖片linkbutton控件本文主要介紹用自定義控件替換asp.net控件的方法。您可以為朋友參考以下函數:可以使用自定義控件頁的標記映射元素(asp.net設置體系結構)替換asp.negridview控件使用詳解...

  • iOS13支持設備,ios設備是什么

    iOS13支持設備,ios設備是什么 相關圖片ios設備是什么意思網絡上有很多iOS組件庫,很方便實現控件,所以綠茶小編提醒,此篇文章只是講訴下,要如何在 iOS 設備上呈現原型?  很多 UX 和 PM 同學還是習慣使用傳統ios設備在哪...

  • ios使用技巧,蘋果使用技巧

    ios使用技巧,蘋果使用技巧 相關圖片s檔使用技巧這篇文章主要介紹了Backbone.js的一些使用技巧,Backbone.js是一款人氣JavaScript庫,需要的朋友可以參考下  自從3年前Backbon蘋果x全部使用技巧圖解...

關注微信

变脸官网查询