[android] 图片的缩放
界面布局,线性布局,竖直排列,两个ImageView
获取到两个ImageView对象
调用BitmapFactory.decodeResource(res,id)方法,获取Bitmap对象
参数:res是getResource(),id是资源id比如:R.drawable.xxx
调用ImageView对象的setImageViewBitmap(),参数:Bitmap对象
获取可编辑的Bitmap对象
调用Bitmap对象的createBitmap(width,height,config)方法,获得可编辑的Bitmap对象
参数:宽 高 配置,这些都是原来的宽高,Bitmap对象的getWidth(),getHeight(),getConfig()
获取Canvas对象,通过new Canvas(bitmap),参数:Bitmap对象
调用Canvas对象的drawBitmap(bitmap,matrix,paint)方法,
参数:Bitmap对象模板,matrix是矩阵,Paint是画笔
获取Paint对象,通过new出来
调用Paint对象的setColor()方法,设置画笔颜色,参数:Color.BLACK
获取Matrix对象,通过new出来
调用Matrix对象的setValue(value)方法,设置矩阵值
参数:value是float[]数组,(0.5f,0,0,0,1,0,0,0,1)
这个矩阵大部分人搞不清楚了,因此有另一个api
调用Matrix对象的setScale(sx,sy),设置比例,参数:一半就是0.5f 0.5f
调用第二个ImageView对象的setImageBitmap()方法,展示出来
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具