Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >不能在画布上倒画文字

不能在画布上倒画文字
EN

Stack Overflow用户
提问于 2013-03-31 14:06:44
回答 1查看 1.6K关注 0票数 2

我试图在画布上画文本,然后旋转画布,使文本倒转显示。然而,它仍然没有倒置显示。位图是颠倒显示的,但文本不是。

代码语言:javascript
代码运行次数:0
复制
Canvas canvas = new Canvas(bm);
    canvas.drawText(text, 0, bm.getHeight()/2, paint);
    canvas.rotate(180, bm.getWidth()/2, bm.getHeight()/2);
EN

回答 1

Stack Overflow用户

发布于 2013-03-31 14:37:18

在转换画布时,实际上正在对变换矩阵执行更新,以便转换后续的绘图调用。举个例子,如果你想要“垫”你的画,你首先要翻译画布:

代码语言:javascript
代码运行次数:0
复制
canvas.translate(10.0f, 0);

然后在(0,0)上画一个直角:

代码语言:javascript
代码运行次数:0
复制
canvas.drawRect(0, 0, 20, 10);

矩形将被绘制,其原点被转换为(10,0),这样就像调用了drawRect(10, 0)一样,因为每个2D点都被乘以当前的转换矩阵。其他仿射变换也是如此,比如旋转和缩放。因此,如果您想要绘制颠倒的文本,您必须首先应用转换(),然后应用(然后是绘画)。

顺便说一句,要将文本实际上颠倒绘制,您要寻找的转换不是旋转,而是Y坐标的交换:

代码语言:javascript
代码运行次数:0
复制
canvas.scale(1, -1);
canvas.drawText(text, 0, bm.getHeight()/2, paint);

另外,一定要理解CanvasBitmap之间的区别:前者是用于公开各种画图API的Android类,后者是图像中实际像素的数组(我记得在2.3之前,它是从本地库分配的,所以永远不要忘记调用Bitmap.recycle(),否则很快就会得到OutOfMemoryException的可用空间。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15735121

复制
相关文章
CoffeeScript 简介
摘要总结:本文介绍了CoffeeScript这门编程语言,包括它的历史、特性、安装、概览以及进一步学习的资源。
乐百川
2018/01/09
9210
【前端】CoffeeScript
zhaokang555
2023/10/17
1310
【前端】CoffeeScript
CoffeeScript学习笔记
CoffeeScript编程语言构建于Javascript之上,它可编译成高效JavaScript。可以在Web浏览器上,或者结合Node.js一类的技术构建服务端应用程序。
大江小浪
2018/07/25
4050
CoffeeScript学习笔记
私有PaaS在乐视的实践
PaaS在云平台中的作用 * 打通接入层、应用层、服务层 * 承载了云平台95%以上的业务
字母哥博客
2020/09/23
5190
私有PaaS在乐视的实践
在 SwiftUI 视图中打开 URL 的若干方法
本文将介绍在 SwiftUI 视图中打开 URL 的若干种方式,其他的内容还包括如何自动识别文本中的内容并为其转换为可点击链接,以及如何自定义打开 URL 前后的行为等。
东坡肘子
2022/07/28
7.8K1
在 SwiftUI 视图中打开 URL 的若干方法
在图中添加多边形
在matplotlib中有一个子模块patches, 提供了绘制各种多边形的功能,常用的多边形及其画法如下
生信修炼手册
2020/09/23
6220
在图中添加多边形
Win10: 在截图中添加红框
文章背景: 在工作中,很多时候需要用到Win10原生的截图工具,然后在截图中添加红框进行强调。对于Win10系统,可以通过按Windows 徽标键‌+ Shift+ S,快速调出截图工具,但无法在截图中添加红框,需要借助画图工具进行实现。
Exploring
2023/08/17
13.3K0
Win10: 在截图中添加红框
【译】在列表视图中处理空值
本篇文章主要针对两类开发者。第一个是曾遇到过IllegalArgumentException: Path must not be empty问题的开发者。第二个则是当ListView使用了未被完整加载的图像,应用程序仍能正确运转的开发者们。
小鄧子
2018/08/20
1.2K0
面经 | 嵌入式软件开发(海康威视)
a. 嵌入式软件开发的笔试题中,c/c++、数据结构、操作系统、计算机网络等都会涉及到,对于操作系统方面的考察相较于其他岗位会更多一些。在程序题中,除了一些算法题,还会考察某个现有函数的实现,例如:memcpy。
用户3946442
2022/04/11
1.2K0
面经 | 嵌入式软件开发(海康威视)
在EasyUI的DataGrid中嵌入Combobox
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/46687767
DannyHoo
2018/09/13
3.8K0
在EasyUI的DataGrid中嵌入Combobox
C++在视图中显示缩略图
将任意形式文件已缩略图形式显示在视图中 //pWnd为当前客户区视图 CWnd* pWnd; pWnd=this; CDC* pDC=pWnd->GetDC(); HDC hDC = pDC->m_hDC; HWND hwnd=pWnd->GetSafeHwnd(); CImage image; //m_ViewRect 为当前客户区 CRect m_ViewRect; GetClientRect(&m_ViewRect); //strFilePath为影像绝度路径,包含文件名 image.Load(strFilePath);
用户7886150
2021/02/13
6790
在应用中嵌入Tomcat
很多 Java web 应用和服务,包括开源的和商业化的(比如 Alfresco, iRise, Confluence等),都倾向于将 Apache Tomcat Servlet 引擎整个嵌入到他们的分发包中。Atlatisan公司甚至只支持他们自己提供的嵌入式Tomcat 包,不再提供 WAR/EAR 形式的分发包。这些安装包包含了整个 Tomcat 引擎和配置文件,看起来确实有点大材小用。在大多数配置中,默认的配置文件甚至从来不会变动。真的有办法可以在代码中启动 Tomcat 并且只需要 tomcat 的 jar 文件作为依赖么?在下面的教程中,我们将会对 Jetty (Jetty 是一个为此目的而设计的一种嵌入式 servlet 引擎)进行测试,同时还会展示如何将 Jetty 迁移到 Tomcat 。
哲洛不闹
2018/09/18
2.3K0
在应用中嵌入Tomcat
类图中的关系
关联(Association)关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等等。在UML类图中,用实线连接有关联关系的对象所对应的类,在使用Java、C#和C++等编程语言实现关联关系时,通常将一个类的对象作为另一个类的成员变量。在使用类图表示关联关系时可以在关联线上标注角色名,一般使用一个表示两者之间关系的动词或者名词表示角色名(有时该名词为实例对象名),关系的两端代表两种不同的角色,因此在一个关联关系中可以包含两个角色名,角色名不是必须的,可以根据需要增加,其目的是使类之间的关系更加明确。
后端码匠
2022/03/28
7280
类图中的关系
ICRA 2020 | 通过共享2D-3D嵌入空间在激光雷达地图中进行全局视觉定位
标题:Global visual localization in LiDAR-maps through shared 2D-3D embedding space
好好学SLAM
2021/05/28
8260
咖啡销售2.0
咖啡是美国乃至全世界消费最广泛的饮料之一。美国人每天消费4亿杯咖啡,使美国成为世界上最主要的咖啡消费国。
用户8128510
2021/01/28
7870
拼图中的数据科学
拼图筛选流程: 抓出一把拼图 注:一把的数量允许动态得调整 铺展在桌面上 并行对非字母信息筛选并处理 优质连块拼图 取出 形状是边界拼图 取出 字母向下 翻面 并行对字母信息筛选并处理 相似字母XY 收集 相似字母不再出现 取出 注:随机查找n次无结果 边界拼图 取出 已出现过的字母 取出 最后一组字母 相似字母X 收集X 相似字母不再出现 取出X 直接收集Y 取出Y 注:随机查找n次无结果 注释:仅支持两只手,左手字母靠前,右手字母靠后 注释:XY集合的选择靠特征,可选的组合有
杨丝儿
2022/03/01
4880
CoffeeScript和Sass提高Web开发效率
如果您是一位每天都要编写JavaScript和Css的Web前端开发人员,可能您已经开始感觉到JavaScript的关键字 var, function, {} 要被您每天敲击若干遍。是否可以省掉这些重
葡萄城控件
2018/01/10
8040
CoffeeScript和Sass提高Web开发效率
在 HTML 中嵌入 PHP 代码
PHP 天生对 Web 和 HTML 友好,在 PHP 诞生之初,主要用于在 Web 1.0 中构建个人主页,那个时候,PHP 代表的是 Personal Home Page,随着 Web 互联网的发展,在 Web 2.0 时代,PHP 进一步进化为 PHP:Hypertext Preprocessor,即超文本处理器,而 HTML 则是 HyperText Markup Language 的缩写,也就是超文本标记语言。
学院君
2020/05/28
6.3K0
10分钟带你读完《在星巴克要买大杯咖啡》
这是一本很有趣的关于生活中的经济学的小册子,日本人吉本佳生用一个个小故事为我们讲述了那些生活中隐藏的经济学知识。
100000798482
2018/08/20
1.5K0
10分钟带你读完《在星巴克要买大杯咖啡》
点击加载更多

相似问题

Node + Coffeescript + Zappa

10

无法安装Zappa的咖啡(MacOSX10.9)

13

zappa js @include coffeescript方法不工作

311

Coffeescript编译变体(coffeescript.org与咖啡-rails)

12

使用coffeescript (zappa)在nodejs / commonjs中重新导出模块(mongoose)

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档