這篇文章主要介紹iOS中如何實現imageView任意角度旋轉,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創新互聯服務項目包括紅河網站建設、紅河網站制作、紅河網頁制作以及紅河網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,紅河網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到紅河省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!如果需要實現對imageView實現一定角度的旋轉,具體步驟是:
1.將image轉成context。
2.對context進行一定角度的旋轉。
3.將旋轉后的context 轉化成image。
經過這三個步驟,我們就能夠實現將圖片真正的做到旋轉。
好了,直接上代碼:
#import"UIImage+RotateImageTool.h" #import<QuartzCore/QuartzCore.h> #import<Accelerate/Accelerate.h> @implementationUIImage (RotateImageTool) -(UIImage*)rotateImageWithDegree:(CGFloat)degree{ //將image轉化成context //獲取圖片像素的寬和高 size_t width =self.size.width*self.scale; size_t height =self.size.height*self.scale; //顏色通道為8因為0-255經過了8個顏色通道的變化 //每一行圖片的字節數因為我們采用的是ARGB/RGBA所以字節數為width * 4 size_t bytesPerRow =width *4; //圖片的透明度通道 CGImageAlphaInfo info =kCGImageAlphaPremultipliedFirst; //配置context的參數: CGContextRef context =CGBitmapContextCreate(nil, width, height,8, bytesPerRow,CGColorSpaceCreateDeviceRGB(),kCGBitmapByteOrderDefault|info); if(!context) { return nil; } //將圖片渲染到圖形上下文中 CGContextDrawImage(context,CGRectMake(0,0, width, height),self.CGImage); uint8_t* data = (uint8_t*)CGBitmapContextGetData(context); //旋轉欠的數據 vImage_Buffer src = { data,height,width,bytesPerRow}; //旋轉后的數據 vImage_Buffer dest= { data,height,width,bytesPerRow}; //背景顏色 Pixel_8888 backColor = {0,0,0,0}; //填充顏色 vImage_Flags flags = kvImageBackgroundColorFill; //旋轉context vImageRotate_ARGB8888(&src, &dest,nil, degree *M_PI/180.f, backColor, flags); //將conetxt轉換成image CGImageRef imageRef =CGBitmapContextCreateImage(context); UIImage* rotateImage =[UIImageimageWithCGImage:imageRefscale:self.scaleorientation:self.imageOrientation]; returnrotateImage; }
代碼中有詳細的注釋,在這里我就不過多的解釋了。感興趣的可以到github上面下載哦。
下載地址:github.com/15221532825/ImageTool (本地下載)
附:iOS ImageView的Image自適應縮放顯示全套處理方法
// retina屏幕圖片顯示問題 [_detailImageView setContentScaleFactor:[[UIScreen mainScreen] scale]]; // 不規則圖片顯示 _detailImageView.contentMode = UIViewContentModeScaleAspectFill; _detailImageView.autoresizingMask = UIViewAutoresizingFlexibleHeight; // 圖片大于或小于顯示區域 _detailImageView.clipsToBounds = YES;
以上是“iOS中如何實現imageView任意角度旋轉”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯網站建設公司行業資訊頻道!
另外有需要云服務器可以了解下創新互聯建站vcdvsql.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
名稱欄目:iOS中如何實現imageView任意角度旋轉-創新互聯
文章起源:http://vcdvsql.cn/article38/cesisp.html
成都網站建設公司_創新互聯,為您提供商城網站、動態網站、品牌網站制作、用戶體驗、外貿建站、網站設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯