需求:
在屏幕上画text,需要字体为蓝色,并且要有半透明效果
思路:
使用Canvas.drawText() 。
先看下面代码:
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setAlpha(0x40);
paint.setColor(Color.BLUE);
canvas.drawText("Hello", 0, 0, paint);
}
你认为这代码没错吧?
是的逻辑上的确没错。
可是出来的效果却没有体现出半透明。
为什么捏?
折腾了好半天,最后注意到paint.setColor()方法里的说明:
Set the paint's color. Note that the color is an int containing alpha as well as r,g,b.
英文好的朋友们都看懂了吧,是的setColor中传的参数是包含了alpha值的。
因此我们等于是先设置了alpha值为0x40,然后再设回了不透明。
当然就不会体现alpha值啦。
正确写法,把paint.setAlpha(0x40);和 paint.setColor(Color.BLUE);两行位置调换就ok了!
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setAlpha(0x40);
canvas.drawText("Hello", 0, 0, paint);
}
呵,很简单的一个问题。居然搞半天。汗。
分享到:
相关推荐
7. 最后,可能还会调用`canvas.saveLayer()`和`canvas.restore()`来实现更高级的绘图效果,如半透明叠加层或者离屏渲染。 总的来说,`canvas.save()`和`canvas.restore()`是Android图形编程中不可或缺的部分,它们...
《html2canvas.js:网页截屏的利器》 在当今的Web开发中,用户界面的交互性和可分享性越来越重要,而html2canvas.js正是实现这些功能的关键工具。这个JavaScript库允许开发者将网页的HTML结构及其CSS样式转换为...
canvas.text.js
本文将详细介绍html2canvas.js的工作原理、使用方法以及可能遇到的问题与解决方案。 一、工作原理 html2canvas.js的核心思想是将DOM树转换为Canvas渲染上下文中的图形。它首先遍历整个DOM结构,对每个节点进行渲染...
var imgData = canvas.toDataURL('image/png'); // 可以在这里做其他处理,例如保存图片 }); ``` 在这个例子中,`document.body`是被截图的元素,生成的Canvas会被添加到页面中,`toDataURL`方法则用于将Canvas...
jsPdf.debug.js和html2canvas.js下载jsPdf.debug.js和html2canvas.js下载jsPdf.debug.js和html2canvas.js下载jsPdf.debug.js和html2canvas.js下载
《html2canvas.js:将HTML转化为Canvas图像的神器》 在网页开发中,有时我们需要将网页内容以图像的形式保存或分享,html2canvas.js就是这样一个强大的JavaScript库,它能够实现将HTML元素及其样式转化为Canvas画布...
Delphi 为窗体绘制渐变背景,这里使用了Delphi中的Canvas.Brush.Color来实现窗口背景的渐变色,不错吧?如示例图的左右渐变效果,实现的代码: for i:=0 to self.Width-1 do begin c1:=GetRValue(StartColor) ...
- 可以通过设置Paint的`paint.setTextAlign(Paint.Align.RIGHT)`使文本右对齐,再配合`canvas.translate()`方法改变画布的坐标原点,使得每次绘制文本时都会向左移动一定的距离,从而达到竖排的效果。 4. **步骤...
canvas.drawText(text, centerX, centerY, paint); ``` 在这个例子中,我们先创建了一个背景矩形,然后设置了Paint的样式和大小。通过`measureText()`方法计算出文本的宽度,`getFontMetrics().height`获取高度。...
包含的有:html2canvas.js html2canvas.mini.js,版本号是v1.0.0-alpha.12,。简洁:著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 链接:http://caibaojian.com/html2canvas.html 来源:...
`canvas.drawText()`方法使用了矩形的中心x坐标和计算出的基线y坐标进行绘制。 需要注意的是,`getFontMetrics()`方法应该在设置字体大小或样式之后调用,以确保获取到正确的字体尺寸信息。否则,计算的`top`和`...
1. 处理CSS3效果:html2canvas.js可能无法完全重现所有CSS3效果,如阴影、渐变等,需要额外处理。 2. 异步加载资源:如果页面中包含异步加载的图片,可能需要在截图前确保它们已加载完毕。 3. 处理透明度:Canvas不...
当阿尔法值介于0和255之间时,图片就会呈现出不同程度的半透明效果。 半透明图片的叠加涉及到两个关键概念:混合模式和阿尔法通道。混合模式定义了两个或多个图像层如何相互结合,可以创建出丰富多样的视觉效果。...
html2canvas.js下载
2. **CSS支持**:支持大部分CSS属性,包括边框、背景、阴影、透明度等,使得转换后的图像尽可能保持与原页面一致的视觉效果。 3. **图片加载**:自动处理页面中的图片,确保它们在Canvas中正确显示。 4. **异步处理*...
html2canvas.js实现整个区域甚至整个页面的截取,再次声明这不是一个小小的头像图片的移动截取(小小的截取就不要下载喽),是整个页面的截取;网页端需要的不多,就是现在不太好找了,所里我整理了一下
值得注意的是,如果同时设置了`Canvas.Left`和`Canvas.Right`,或者`Canvas.Top`和`Canvas.Bottom`,那么`Canvas.Left`和`Canvas.Top`的值优先生效。 然而,Canvas布局并不适用于需要自适应大小或动态调整布局的...
WinVista、Win7: D2D (FMX.Canvas.D2D.pas) WinXP: GDI+ (FMX.Canvas.GDIP.pas) Mac 系列: Core Graphics (FMX.Canvas.Mac.pas) 和 HTML5 中的 Canvas 非常类似, 现在的 Canvas 模糊了 Pen 的概念: 之前的 Canvas....