日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Picasso实现图片圆角和图片圆形

發(fā)布時間:2025/3/16 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Picasso实现图片圆角和图片圆形 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作者很好的文章訪問量缺很少也很難搜到(我這里插個眼以后用的到)
作者:先知丨先覺
來源:CSDN
原文:https://blog.csdn.net/github_33304260/article/details/52033539
(圖片圓角做的不是很好我試了試)

導(dǎo)入依賴

compile 'com.squareup.picasso:picasso:2.5.2'

  代碼使用

Picasso.with(Activity.this).load(URL).transform(new CircleCornerForm()).error(R.drawable.head).into(ImageView);

  

加載圓形圖片

import android.graphics.Bitmap; import android.graphics.BitmapShader; import android.graphics.Canvas; import android.graphics.Paint;import com.squareup.picasso.Transformation;/*** Created libin on 2016/4/25.* 圓形圖片*/ public class CircleTransform implements Transformation {@Overridepublic Bitmap transform(Bitmap source) {int size = Math.min(source.getWidth(), source.getHeight());int x = (source.getWidth() - size) / 2;int y = (source.getHeight() - size) / 2;Bitmap squaredBitmap = Bitmap.createBitmap(source, x, y, size, size);if (squaredBitmap != source) {source.recycle();}Bitmap bitmap = Bitmap.createBitmap(size, size, source.getConfig());Canvas canvas = new Canvas(bitmap);Paint paint = new Paint();BitmapShader shader = new BitmapShader(squaredBitmap,BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP);paint.setShader(shader);paint.setAntiAlias(true);float r = size / 2f;canvas.drawCircle(r, r, r, paint);squaredBitmap.recycle();return bitmap;}@Overridepublic String key() {return "circle";} }

  

加載圓角圖片

import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; import android.graphics.RectF;import com.squareup.picasso.Transformation;/*** Created by libin on 16/7/22.* 圓角切片*/ public class CircleCornerForm implements Transformation {@Overridepublic Bitmap transform(Bitmap source) {int widthLight = source.getWidth();int heightLight = source.getHeight();Bitmap output = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(output);Paint paintColor = new Paint();paintColor.setFlags(Paint.ANTI_ALIAS_FLAG);RectF rectF = new RectF(new Rect(0, 0, widthLight, heightLight));canvas.drawRoundRect(rectF, widthLight / 5, heightLight / 5, paintColor);//這里除的數(shù)越大角度越小Paint paintImage = new Paint();paintImage.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_ATOP));canvas.drawBitmap(source, 0, 0, paintImage);source.recycle();return output;}@Overridepublic String key() {return "roundcorner";} }

  

?

轉(zhuǎn)載于:https://www.cnblogs.com/xuexidememeda/p/10329643.html

總結(jié)

以上是生活随笔為你收集整理的使用Picasso实现图片圆角和图片圆形的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。