开发过程中我们经常会用到圆形的图片,作为头像、Item图标等等。笔者今天分享出自己常用的实现方式 —— 继承ImageView重写onDraw方法,手动裁剪。...绘制完成后,使用方式就和普通的ImageView无异。 效果图: ?...效果图 .png 核心代码: 核心思路其实就是对Bitmap的操作,先将图片裁剪成正方形,再将正方形图片裁剪成圆形 //将原始图像裁剪成正方形 private Bitmap dealRawBitmap...leftTopX,leftTopY,minWidth,minWidth,null,false); return scaleBitmap(newBitmap); } //将图片裁剪成圆形图片
android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.TypedValue; import android.widget.ImageView...; import com.ccvideo.R; public class RoundImageView extends ImageView { private Paint mPaint;...android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.TypedValue; import android.widget.ImageView...; import com.ccvideo.R; public class MyUserPhoto extends ImageView { private static final int BORDER_SMALL_WIDTH_DEFAULT...return Bitmap.createBitmap(bitmap, 0, 0, (int) width, (int) height, matrix, true); } public ImageView
由于需要将图片显示为圆形,我进行了圆角处理,但结果却出现了边缘锯齿现象,这在尺寸分辨率没有问题的情况下是不常见的,以前几乎没有遇到过。 我检查了一遍代码,未发现任何问题。...```swift imageView.layer.shouldRasterize = true imageView.layer.rasterizationScale = UIScreen.main.scale...```swift imageView.contentMode = .scaleAspectFill ```swift 4....= true imageView.layer.rasterizationScale = UIScreen.main.scale ```swift 2....= UIScreen.main.scale ```swift 3.
初始化地图 定义可以拖控件连线或者代码定义 //设置地图类型 appMapView.mapType = MKMapType.Standard; //是否显示...
情况 变暗 贴出重要代码 // 设置按钮图片动画数组 voiceButton.imageView?....message_voice_sender_playing_2"), #imageLiteral(resourceName: "message_voice_sender_playing_3") ] // 开始动画 voiceButton.imageView...startAnimating() // 停止动画 voiceButton.imageView?....效果 完美 附上相关项目:Swift 3.0 高仿微信
// 1.图像的上下文-内存中开辟一个地址,跟屏幕无关 /** * 1.绘图的尺寸 * 2.不透明:false(透明) / true(不透明) * 3.scale...// 1> 实例化一个圆形的路径 let path = UIBezierPath(ovalIn: rect) // 2> 进行路径裁切 - 后续的绘图,都会出现在圆形路径内部,外部的全部干掉 path.addClip...// 1.图像的上下文-内存中开辟一个地址,跟屏幕无关 /** * 1.绘图的尺寸 * 2.不透明:false(透明) / true(不透明) * 3.scale...-内存中开辟一个地址,跟屏幕无关 /** * 1.绘图的尺寸 * 2.不透明:false(透明) / true(不透明) * 3.scale...-内存中开辟一个地址,跟屏幕无关 /** * 1.绘图的尺寸 * 2.不透明:false(透明) / true(不透明) * 3.scale
, sender.scale); imageView.transform=transform; } //旋转 -(void)editImageWithRotation:(UIRotationGestureRecognizer...解决方案: 取父view的坐标系,更改imageView.center,因为不论是scale还是rotation,center的点是不变的。...; } } scale类似方法获得。...输出最后imageView的frame和最开始的frame。...273.285 409.6) //最初的 frame = (142.016 271.144; 483.968 481.711) //变换后的 r = 0.79710480433663233 //旋转参数 在swift
(); dx = (width - toCrop.getWidth() * scale) * 0.5f; } else { scale =...0.5f; } m.setScale(scale, scale); m.postTranslate((int) (dx + 0.5f), (int) (dy...因此这里我们就选择一种常用的图片变换效果来进行自定义吧——对图片进行圆形化变换。 图片圆形化的功能现在在手机应用中非常常见,比如手机QQ就会将用户的头像进行圆形化变换,从而使得界面变得更加好看。...首先第18行先算出原图宽度和高度中较小的值,因为对图片进行圆形化变换肯定要以较小的那个值作为直径来进行裁剪。...第28-41行是具体进行圆形化变换的部分,这里算出了画布的偏移值,并且根据刚才得到的直径算出半径来进行画圆。
还有它的拓展性方面,像圆角图片、圆形图片、图片边框等等。因此,假设想熟练使用这个控件,就须要对事实上现的机制有一个基本的了解。 ImageView也是直接继承于View类。...- dheight * scale) * 0.5f; } mDrawMatrix.setScale(scale, scale);...mDrawMatrix.setScale(scale, scale); mDrawMatrix.postTranslate(dx, dy); } else...下面解说一下怎样自己定义一个类继承于ImageView。首先以 CircleButton为例,这是github上一个项目,实现一个圆形有点击效果的按钮。...先画两个圆形图案,一个是实心的圆。一个是圆环。圆环半径小于实心圆半径。这样默认就看不到圆环,然后再画出设置的图片,覆盖在二者之上。
ViewAnimationUtils.createCircularReveal()的简介: ViewAnimationUtils.createCircularReveal()是安卓5.0才引入的,快速实现圆形缩放动画的...2 return new RevealAnimator(view, centerX, centerY, startRadius, endRadius); 3 } 第一个参数view:是你要进行圆形缩放的...在兼容低版本下模仿实现上述效果: 实现思路: 1-》实现圆形,使用 xml 自定义背景,实现圆形,再设置到 view ; 2-》使用传统的 scaleX
android.util.AttributeSet; import android.view.animation.LinearInterpolator; /** * Created AY 2018-11-26 设置圆形...ImageView以及旋转动画 */ public class CircleImageView extends AppCompatImageView { private ObjectAnimator... canvas.drawCircle(width / 2, height / 2, radius, paint);//使用画笔在画布上画圆 } /** * 获取ImageView...= Math.max(width / bitmap.getWidth(), height / bitmap.getHeight()); matrix.setScale(scale, scale...避免拉伸 bitmapShader.setLocalMatrix(matrix); return bitmapShader; } } 以上就是直播带货APP开发,圆形旋转动画的相关代码
.scale(ScaleMode.CENTER_CROP) // CENTER_CROP等比例缩放图片,直到图片的狂高都大于等于ImageView的宽度,然后截取中间的显示 ; .scale...(ScaleMode.FIT_CENTER) // FIT_CENTER 等比例缩放图片,宽或者是高等于ImageView的宽或者是高 默认:FIT_CENTER ##十四.错误图—error....asCircle() 圆形 ImageLoader.with(this)..asCircle().into(View); ?...##二十.自定义View----加载本地多边形图片 想要了解更多多边形图片相关知识,可以参考本人之前的博客: Android自定义View【实战教程】4⃣️----BitmapShader详解及圆形...、圆角、多边形实现 ###参数解读 ####三种类型----type type:circle(圆形)/round(圆角)/multi(多边形) ####多边形角的个数----angleCount
只不过我们给彩色图片添加了一个圆形的mask。...关键还是给上面的ImageView添加Mask。下方代码就是给上方彩色的ImageView添加mask, 然后在touchesMoved事件中随着手指的移动来改变mask的位置即可。...三、给Label添加Mask 接下我们将之前的视错觉的Demo进行重写,当然我们此处使用的是Swift语言,并使用mask来进行实现。 ?...下方代码就是为我们上层红色的Hello World添加蒙版,并给蒙版添加一个弧度,所以你看起来的蒙版效果是椭圆形的。...原理请参加《iOS开发之三个Button实现图片无限轮播(参考手机淘宝,Swift版)》这篇博客,原理在此就不做过多的赘述了。 ? 通过本篇博客想必你还是有所收获的,今天博客就先到这。
https://blog.csdn.net/gdutxiaoxu/article/details/79658621 Android 圆形头像的两种实现方式 前言 这篇博客只是为了做一个记录而已,...---- 圆形头像在实际开发中实际很常见,一般来说,主要有两种实现方式: 第一种: 使用 Paint 的 Xfermode 实战 第二种方法: 使用 BitmapShader 实现 第一种: 使用 Paint...圆形头像,我们可以看成是 在原图上面绘制一个圆,再取交集。 从代码的角度来讲,先绘制 Dst,再绘制 Src,显示的区域是二者交集,由此可知 SrcIn 符合我们的要求。...Canvas drawCanvas = new Canvas(bitmap); //按照bitmap的宽高,以及view的宽高,计算缩放比例;因为设置的src宽高比例可能和imageview...---- 参考博客: Android Xfermode 实战实现圆形、圆角图片 Android BitmapShader 实战 实现圆形、圆角图片
maxAlpha = half(*maxAlphaPointer); const half alpha = maxAlpha * (1.0h - soul); const half scale...= 1.0h + (maxScale - 1.0h) * soul; const half soulX = 0.5h + (x - 0.5h) / scale; const half...soulY = 0.5h + (y - 0.5h) / scale; const half4 soulMask = inputTexture.sample(quadSampler, float2...由于我这边设计的是基于并行计算管道,所以可以直接生成图片 var filter = C7SoulOut() filter.soul = 0.5 filter.maxScale = 2.0 /// 直接显示在ImageView...ImageView.image = try?
一个iOS开发初级菜鸡.png Swift 基本语法02-"let"和"var" Swift 基本语法03-"if let"和"guard let" Swift 基本语法04-"switch"和"for..." Swift 基本语法05-"String" Swift 基本语法06-数组和字典 Swift 简介 Swift2014年06月WWDC大会发布 2015年底开源 IBM开始用Swift做后台开发...ImageView 设置图片 let imageView = UIImageView(frame: CGRect(x: 0, y: 120, width: 100, height: 100)) imageView.image...= UIImage(named: "user") imageView.image = #imageLiteral(resourceName: "user") view.addSubview(imageView...) 3.1-设置ImageView的图片.png 4.
圆形图片相必是项目开发中也是不少用的一个知识点吧。...首先,ImageView和ImageButton需要图片, 有两种生成圆形图片的方法 1、自定义View继承ImageView、ImageButton 2、imageView.setXXX(); 看下...ImageView的设置图片方法: 1 ImageView imageView = new ImageView(this); 2 3 imageView.setImageDrawable(); //...Bitmap 对象 那么我们这里实现方法为 自定义继承Drawable类 ,运用 imageView.setImageDrawable(); 设置圆形图片 实现步骤: 1、新建一个类继承Drawable...private int height; // 圆形图片的高度 private int radiu; // 圆形图片的半径 2、重写构造方法 1 public CircleImageView
); } //加载drawable图片显示为圆形图片 public void displayCricleImage(Context context, int resId, ImageView...); } //加载网络图片显示为圆形图片 public void displayCricleImage(Context context, String url, ImageView...); } //加载SD卡图片显示为圆形图片 public void displayCricleImage(Context context, File file, ImageView...,写一个圆形显示工具,有了这个工具,显示圆形头像就很容易了。...glide各种转换,圆形/五角星/圆角等: glide-transformations。
YLGIFImage-Swift - YLGIFImage-Swift。 gifu.Swift - gifu.Swift高性能GIF显示类库。...Spring - Spring是一个Swift编写的开源库,可简化Swift编写的iOS动画。...CPInfiniteBanner - 是一个循环播放的组件,可以左右无缝滑动,3个imageview实现。高效图片轮播,两个ImageView实现。...TTGEmojiRate.swift - TTGEmojiRate.swift以Emoji表情为基础绘图,Swift开源项目: TTGEmojiRate的实现。...MotionMachine.swift - 功能强大、优雅、模块化动画库。 circle-menu.swift - 动画效率很赞的圆形缩放菜单演示及类库。
android:src="@mipmap/ic_launcher"/> 代码检查一遍,类型也转换了,包也导了,并没有问题,那可能是什么导致冲突了,从image属性下手,系统原生的是四边形的,既然改成圆形...,肯定要对scaleType做处理,源码中有一行代码可以确认猜想,如下 super.setScaleType(SCALE_TYPE); 参数是自定义的, scaleType用代码处理了,这个时候在xml...import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.widget.ImageView...; import cn.test.R; public class CircleImageView extends ImageView { private static final ScaleType...(scale, scale); mShaderMatrix.postTranslate((int) (dx + 0.5f) + mBorderWidth, (int) (dy + 0.5f
领取专属 10元无门槛券
手把手带您无忧上云