| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android之基础复习2D图形一,kotlin版权 -> 正文阅读 |
|
[移动开发]Android之基础复习2D图形一,kotlin版权 |
int width; int height; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 设置全屏,也可以在xml中进行设置 。 requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.main); img = (ImageView) findViewById(R.id.img); // 得到屏幕的宽和高。 Display display = getWindowManager().getDefaultDisplay(); width = display.getWidth(); height = display.getHeight(); // 创建图片,用来绘制。 bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); // 创建画布,并且设置图片用来进行绘制。一个画布可以看成是整个屏幕。 canvas = new Canvas(); canvas.setBitmap(bitmap); // 设置画笔,的各种属性。 //可以利用typeface设置外部字体 paint = new Paint(); paint.setAntiAlias(true); paint.setColor(Color.RED); paint.setStrokeWidth(10); paint.setStyle(Paint.Style.FILL); // 利用画布直接将内容绘制到bitmap上面。 canvas.drawCircle(50, 50, 30, paint); //设定字体和各种格式 Typeface typeface = Typeface.create(“test”, Typeface.BOLD_ITALIC); paint.setTypeface(typeface); paint.setTextSize(25); canvas.drawText(“我是被画出来的!”, 100, 50, paint); //画线 paint.setColor(Color.GREEN); canvas.drawLine(0, 0, width, height/2, paint); //画一条路径;Path.moveTo Path path = new Path(); paint.setColor(Color.BLUE); //移动动位置 path.moveTo(150, 150); //画线条 path.lineTo(150, 200); path.lineTo(200, 210); path.lineTo(30, 30); canvas.drawPath(path, paint); //从哪里开始画一个弧形 path.reset(); path.addCircle(230, 230, 10, Direction.CCW); canvas.drawPath(path, paint); // 将画好的图片显示到屏幕上面。 img.setImageBitmap(bitmap); // 清空笔刷; paint.reset(); } } 下面看看一下转换方法: 1)Bitmap 转化为 byte ByteArrayOutputStream out = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat
.PNG, 100, out); byte[] array= out.toByteArray(); 2)byte转化为bitmap final ContentResolver contentResolver = context.getContentResolver(); final PackageManager manager = context.getPackageManager(); final Cursor c = contentResolver.query(uri, null, null, null, null); final int icon3DIndex = c.getColumnIndexOrThrow(ColumnName); byte[] data = c.getBlob(icon3DIndex); Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); 3)bitmap 转换 drawable Bitmap bitmap = new Bitmap(…); Drawable drawable = new BitmapDrawable(bitmap); //Drawable drawable = new FastBitmapDrawable(bitmap); 4)Drawable to Bitmap |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:20:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |