当前位置: 首页 > news >正文

Android : 画布的使用 简单应用

示例图:

MyView.java:

package com.example.demo;import android.content.Context;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;import com.example.myoomtest.R;public class MyView extends View {public MyView(Context context) {super(context);}@Overrideprotected void onDraw(Canvas canvas) {
//        super.onDraw(canvas);//画笔Paint paint = new Paint();paint.setColor(Color.RED);//设置画笔的风格,如 Style.FILL(实心)、// Style.FILL_AND_STROKE(同时显示实心和空心)或 Style.STROKE(空心)。paint.setStyle(Paint.Style.FILL);//设置空心 边框 宽度paint.setStrokeWidth(20.0f);//在画布上画条线/**** xxxxxxY 000000Y 000000Y 000000* */canvas.drawLine(0,50,500,50,paint);//画一条直线canvas.drawLine(100,0,100,200,paint);//画一条竖线canvas.drawLine(300,0,600,200,paint);//画一条斜线Paint paint2 = new Paint();paint2.setStyle(Paint.Style.STROKE);//(空心)paint2.setStrokeWidth(10);//边框大小paint2.setARGB(100,120,255,100);/*** 画矩形 rect* */canvas.drawRect(100,300,300,500,paint2);Paint paint3 = new Paint();paint3.setStyle(Paint.Style.STROKE);//(空心)paint3.setStrokeWidth(10);//边框线大小paint3.setARGB(100,120,255,100);/*** x , y  位置* 圆的 半径* 画圆形 circle* */canvas.drawCircle(600f,600f,60f,paint3);canvas.drawCircle(700f,700f,60f,paint);/**画文字* 基准线* */Paint paint4 = new Paint();paint4.setARGB(100,120,255,0);paint4.setTextSize(200);//文字大小paint4.setStrokeWidth(10);//边框线大小//基准线canvas.drawLine(0,1000,1000,1000,paint4);canvas.drawText("appblmqq",20,1000,paint4);/*** 绘制图片到画布* */Paint paint6 = new Paint();canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.kk),200,1200,paint6);}}

MainActivity.java

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);setContentView(new MyView(this));}}

相关文章:

Android : 画布的使用 简单应用

示例图: MyView.java: package com.example.demo;import android.content.Context; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.Vi…...

紫光展锐5G扬帆出海 | 东南亚成为5G新热土

东南亚是一块充满活力和潜力的市场,这里人口基数大、年轻消费群体占比高,电子市场在过去几年显著增长。 增速“狂飙”的东南亚手游 近年来,东南亚手游下载量逐年增长,2023 年第一季度下载量突破 21 亿次,贡献了全球近…...

STM32 学习(一)新建工程

本课程使用的stm32型号 引脚定义,有FT能接5v,没有FT能接3.3v 启动配置 第二种启动模式中,系统存储器中存放了一部分Bootloader程序,该程序可以接收串口的数据,然后刷新到主闪存中,这样就可以使用串口下载程…...

ROBOGUIDE教程:FANUC机器人固定点焊焊接虚拟仿真

目录 概述 机器人系统创建 焊接工件模型创建 机器人抓手工具添加与工件安装 工作台添加与工件安装 固定点焊焊枪支架模型创建与组装 固定点焊焊枪添加与配置 机器人远程TCP标定(核心内容) 远程TCP手动测试 远程TCP指令介绍 机器人仿真程序编写 机器人示教编程 机…...

代码审计必要性探讨

1、背景 为了保证代码的质量,需要一系列的流程来进行保证: 今天要探讨的是代码审计的必要性。 2、代码审计 代码审计的做法多种多样,我理解必须解决以下问题 ,才可能有效: 核心:审计的本质是对比&#…...

SpringBoot-Shiro

Apache Shiro&#xff1a;https://shiro.apache.org/ 依赖 <dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId><version>1.4.1</version> </dependency>ShiroConfig.java Configuratio…...

认识Docker

大家好&#xff0c;这里是七七&#xff0c;今天起开起我们的Docker技术篇&#xff0c;本文是介绍Docker的&#xff0c;不介绍如何使用和安装Docker&#xff0c;只是单纯的介绍Docker。 目录 一、历史 二、Docker究竟是什么 三、Docker的结构与特性 1、Docker仓库 2、Dock…...

uniapp的分包使用记录

UniApp的分包是一种将应用代码划分为多个包的技术。分包的核心思想是将不同部分的代码划分为不同的包&#xff0c;按需加载&#xff0c;从而提高应用性能。使用UniApp的条件编译功能&#xff0c;开发人员可以根据需要将代码划分为多个包。每个包都包含一组页面和组件&#xff0…...

JSON.stringify()

一、定义 JSON.stringify() 是一个 JavaScript 内置函数&#xff0c;用于将 JavaScript 对象或值转换为 JSON 字符串 二、语法 JSON.stringify(value, replacer, space); value&#xff1a;要转换为 JSON 字符串的 JavaScript 对象或值。 eplacer&#xff08;可选&#xff0…...

机器学习——损失函数

【说明】文章内容来自《机器学习——基于sklearn》&#xff0c;用于学习记录。若有争议联系删除。 1、简介 损失函数(loss function)又称为误差函数(error function)&#xff0c;是衡量模型好坏的标准&#xff0c;用于估量模型的预测值与真实值的不一致程度&#xff0c;是一个…...

C#多线程(补充)

C#多线程&#xff08;补充&#xff09; C# 多线程的补充在C#中使用多线程1. Thread类2. 线程池3. Parallel类4. Task类启动任务接收任务的返回值同步调用指定连续任务任务的层次结构 5. BackgroundWorker控件 C# 多线程的补充 在C#中使用多线程 1. Thread类 使用Thread类通过…...

关于苹果iOS 16:揭开伪装成飞机模式的隐形蜂窝接入漏洞的动态情报

一、基本内容 在日常生活中&#xff0c;网络威胁不断演变&#xff0c;给个人和组织带来了一系列重大挑战。网络犯罪分子使用的一种最常见的、最具破坏性的方法之一就是网络钓鱼。这种攻击方式通过电子邮件、短信或其他通讯渠道冒充可信实体&#xff0c;诱使个人泄露敏感信息&am…...

Python+OpenCV 零基础学习笔记(4-5):计算机图形基础+Python相对文件路径+OpenCV图像+OpenCV视频

文章目录 相关链接运行环境前言计算机图形OpenCV简单使用图形读取文件读取可能会出现的问题&#xff1a;路径不对解决方案其它路径问题解决方案 图像显示保存OpenCV视频视频素材如何获取&#xff1f;简单视频读取 相关链接 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 …...

【C++篇】讲解Vector容器的操作方法

文章目录 &#x1f354;vector容器概念&#x1f339;操作方法⭐赋值操作⭐容量和大小⭐插入和删除⭐数据存取 &#x1f354;vector容器概念 vector 是 C 标准库中的一个容器&#xff0c;它提供了一种动态数组的实现。vector 容器可以存储任意类型的元素&#xff0c;并且可以根…...

桥接模式-举例

概叙&#xff1a;桥接模式用一种巧妙的方式处理多层继承存在的问题&#xff0c; 用抽象关联取代了传统的多层继承&#xff0c; 将类之间的静态继承关系转换为动态的对象组合关系&#xff0c; 使得系统更加灵活&#xff0c;并易于扩展&#xff0c; 同时有效控制了系统中类的个数…...

FreeBSD下安装Jenkins(软件测试集成工具)记录

简要介绍Jenkins 简而言之&#xff0c;Jenkins 是领先的开源自动化服务器。它使用 Java 构建&#xff0c;提供了 1,800 多个插件来支持几乎任何事情的自动化&#xff0c;因此人类可以将时间花在机器无法完成的事情上。 主要目的&#xff1a; 持续、自动地构建/测试软件项目。…...

数据结构学习 Leetcode474 一和零

关键词&#xff1a;动态规划 01背包 一个套路&#xff1a; 01背包&#xff1a;空间优化之后dp【target1】&#xff0c;遍历的时候要逆序遍历完全背包&#xff1a;空间优化之后dp【target1】&#xff0c;遍历的时候要正序遍历 目录 题目&#xff1a; 思路&#xff1a; 复杂…...

VS配置PCO相机SDK环境

VS配置PCO相机SDK环境 概述:最近要用到一款PCO相机,需要协调其他部件实现一些独特的功能。因此需要用到PCO相机的SDK,并正确配置环境。良好的环境是成功的一半。其SDK可以在官网下载,选择对应版本的安装即可。这里用的是pco.cpp.1.2.0 Windows,VS 2022 专业版。 链接: P…...

六、Redis 分布式系统

六、Redis 分布式系统 六、Redis 分布式系统6.1 数据分区算法6.1.1 顺序分区6.1.2 哈希分区 6.2 系统搭建与运行6.2.1 系统搭建6.2.2 系统启动与关闭 6.3 集群操作6.3.1 连接集群6.3.2 写入数据6.3.3 集群查询6.3.4 故障转移6.3.5 集群扩容6.3.6 集群收缩 6.4 分布式系统的限制…...

Unity相机跟随角色移动

相机跟随角色移动 使用LateUpdate()&#xff1b;方法&#xff0c;根据角色移动而进行跟随&#xff0c;固定角度&#xff0c;类似2.5D视角。 需要将相机放到一个空对象&#xff0c;将角度调节好&#xff0c;挂载组件&#xff0c;将角色对象放入组件中&#xff0c;调整moveTime设…...

GD32F4系列定时器正交译码器实战:用STM32CubeMX的思路配置编码器接口

GD32F4定时器正交译码器实战&#xff1a;从STM32CubeMX到GD32的平滑迁移指南 在工业控制、机器人运动检测等领域&#xff0c;正交编码器作为位置和速度反馈的关键传感器&#xff0c;其信号处理能力直接影响系统精度。对于熟悉STM32生态的开发者而言&#xff0c;当项目需要迁移至…...

CPO-RBF分类(优化宽度+中心值+连接权值)可用于故障检测等方向 基于冠豪猪优化算法优化径...

CPO-RBF分类(优化宽度中心值连接权值)可用于故障检测等方向 基于冠豪猪优化算法优化径向基神经网络的数据分类预测&#xff0c;Matlab代码&#xff0c;可直接运行&#xff0c;适合小白新手 程序已经调试好&#xff0c;无需更改代码替换数据集即可运行 需要更换其他算法的都可以…...

League Toolkit:重新定义英雄联盟游戏体验的智能辅助工具集

League Toolkit&#xff1a;重新定义英雄联盟游戏体验的智能辅助工具集 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 在快节奏的…...

终极高DPI解决方案:Apple Cursor如何重新定义跨平台指针体验

终极高DPI解决方案&#xff1a;Apple Cursor如何重新定义跨平台指针体验 【免费下载链接】apple_cursor Free & Open source macOS Cursors. 项目地址: https://gitcode.com/gh_mirrors/ap/apple_cursor 在当今高分辨率显示设备普及的时代&#xff0c;用户面临着一个…...

STM32 SRAM与FLASH调试配置实践

在SRAM与FLASH中调试STM32代码的工程实践1. 调试环境选择背景STM32微控制器的内部FLASH擦写次数约为1万次&#xff0c;频繁的调试过程会加速FLASH寿命的消耗。同时&#xff0c;SRAM存储器的写入速度显著快于内部FLASH&#xff0c;这使得在SRAM中进行程序调试具有以下优势&#…...

给嵌入式新手的ST7789驱动避坑指南:从SPI模式到RGB565显示的完整配置流程

给嵌入式新手的ST7789驱动避坑指南&#xff1a;从SPI模式到RGB565显示的完整配置流程 第一次接触ST7789液晶驱动芯片时&#xff0c;面对厚厚的数据手册和复杂的时序图&#xff0c;很多嵌入式新手都会感到无从下手。本文将带你一步步拆解ST7789的驱动过程&#xff0c;从SPI模式配…...

别再死磕Open SQL了!用ABAP CDS View在SAP S/4HANA里榨干数据库性能

别再死磕Open SQL了&#xff01;用ABAP CDS View在SAP S/4HANA里榨干数据库性能 每次看到那些运行了20分钟还没出结果的报表程序&#xff0c;我就忍不住想问问开发者&#xff1a;2023年了&#xff0c;为什么还在用Open SQL写这种性能灾难&#xff1f;上周我接手了一个供应商账龄…...

告别乱码!用CMD批量转换文本换行符时如何保持GBK/UTF-8编码(附错误排查指南)

告别乱码&#xff01;用CMD批量转换文本换行符时如何保持GBK/UTF-8编码&#xff08;附错误排查指南&#xff09; 当你在Windows环境下处理来自不同操作系统的文本文件时&#xff0c;最令人头疼的问题莫过于换行符差异导致的格式混乱和编码转换引发的乱码。特别是对于数据分析师…...

数据科学模型评估终极指南:交叉验证与性能指标完全解析

数据科学模型评估终极指南&#xff1a;交叉验证与性能指标完全解析 【免费下载链接】awesome-datascience awesome-datascience: 是一个包含各种数据科学资源、工具和实践的汇总列表。适合数据科学家、分析师和开发者查找和学习数据科学的知识和技术。 项目地址: https://git…...

Tomcat安全防护指南:如何防御CVE-2017-12615和CNVD-2020-10487漏洞攻击

Tomcat安全防护实战&#xff1a;从漏洞原理到企业级防御体系构建 最近在帮某金融客户做安全审计时&#xff0c;发现他们的Tomcat服务器竟然还开着AJP端口&#xff0c;而且管理后台用的还是默认密码。这让我想起去年处理过的一次安全事件——攻击者仅用3小时就通过CVE-2017-1261…...