草庐IT

android - 根据 PDF 文档/ Canvas 大小使用 Android PDFDocument 设置文本大小

我正在尝试使用AndroidPDFDocument类将LinearLayout转换为PDF。我将布局膨胀到一个ViewGroup中,将View缩放到Canvas上,然后在Canvas上绘图。我成功制作了PDF,但字体大小是根据设备分辨率/密度而不是PDF大小绘制的。基本上,实际PDF上的字体最终会变得很大。我相信这是由于根据设备屏幕的尺寸和密度绘制View,然后将其转换为Canvas。我尝试过以px和pt为单位设置尺寸,但我似乎无法正确设置。当尺寸设置得非常小(1-2dp或px)时,字体显示的大小正确,但我知道在不同设备上运行它时我会遇到问题。缩放文本和View尺寸以使其在最终PDF中

Android Canvas 画线

我有一个自定义布局,可以根据触摸输入画一条线。我让它画了线,但是当用户触摸屏幕时,线消失了,它画了一条新线。我想要它做的是画一条新线并将上一条线留在那里。这是我的代码:importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Color;importandroid.graphics.Paint;importandroid.util.AttributeSet;importandroid.view.MotionEvent;importandroid.view.View;publicc

解决苹果手机wx.canvasToTempFilePath:fail on image问题,canvas的那些坑,图片失真问题

用小程序做过画图工具的小伙伴,可能都遇到过这个问题,程序在安卓手机和电脑上面都没有问题,但是同样的代码在苹果手机下就出现了该问题:wx.canvasToTempFilePath:failonimage。网上有很多解决方案,比如不能加隐藏none,hidden等。这些CSS设置的初衷会为了隐藏画布,与画图失败没有关系。如果想要隐藏画布也可以用另一种方案:让画布的位置固定在屏幕之外。出现failnoimage真正的原因在于画布canvas的大小超过了苹果手机所能设置的大小界限。canvas有自身的width,height属性来控制尺寸,而且不同的设备拥有不同的尺寸。比如:苹果手机不能超过4096*

html2Canvas常见问题以及解决

近期开发在vue中引用了html2Canvas后,使用时遇到一些常见问题,简单总结下:简单代码使用格式:html2Canvas(document.getElementById("posterHide"+num),{//转换为图片useCORS:true,//解决资源跨域问题scale:2,//处理模糊问题//dpi:300,//处理模糊问题//width:document.documentElement.clientWidth,height:screen.availHeight//解决下方白边问题}).then((canvas)=>{letdataURL=canvas.toDataURL("i

android - 如何在 Canvas 上绘制三角形、星形、正方形或心形?

我可以使用在Canvas上画一个圆和一个长方形path.addCircle()和path.addRect()。现在我想知道如何画三角形、星形、正方形或心形? 最佳答案 为了以后直接求答案,我用canvas画了一个几乎对称的星星,如图:主要工具是使用Paths。假设您已设置:Paintpaint=newPaint();paint.setColor(Color.WHITE);paint.setAntiAlias(true);paint.setStyle(Paint.Style.STROKE);Pathpath=newPath();然后在

android - 如何在android中将编辑后的 Canvas 保存为原始图像大小的图像

我正在尝试在图像上绘图并保存图像。现在我可以成功地在图像上绘制了。但我面临两个问题。当我在图像上绘制时,它也允许绘制图像的一侧。我只想在图像上绘制。第二个问题是当我保存图像时它被拉伸(stretch)了。我想将图像保存为原始大小。请帮我解决我的问题。我在这里发布我的全部代码。publicclassDrawingPaintextendsViewimplementsView.OnTouchListener{privateCanvasmCanvas;privatePathmPath;privatePaintmPaint,mBitmapPaint;publicArrayListpaths=ne

android - 如何在 Canvas 上使用默认的 Android 字体绘图?

我正在尝试像这样在Canvas上绘制文本(下面是伪代码):Paintp=newPaint(ANTI_ALIAS_FLAG);p.setTextSize(18);...mCanvas.drawText("HelloStackOverflow!",50,50,p);我的问题是结果看起来真的很“奇怪”。它使用一些类似粗体的字体,别名严重,看起来不漂亮而且“方形”。我尝试通过设置各种大小来使用p.setTextSize(),我还尝试通过使用p.setTypeface(Typeface)并设置DEFAULT、NORMAL、SERIF、SANS_SERIF等来设置不同的默认字体,但它仍然看起来丑。

android - SurfaceView 中的 Canvas - 硬件加速

我正在ICS上开发并试图理解为什么Canvas.isHardwareAccelerated()在使用时总是返回FALSESurfaceView内的Canvas。我试过一个非常基本的例子:http://android-coding.blogspot.com/2011/05/drawing-on-surfaceview.html或者这个:http://jmsliu.com/199/android-canvas-example.html我什至将它们修改为在绘制循环内没有任何Canvas调用认为我可能参与了一些不受支持的硬件加速操作对于某些绘图调用。我在“不支持的绘图操作”下检查了这个列表de

android - Canvas 不在自定义 View 中绘制

我像这样创建了一个自定义ViewCircleView:publicclassCircleViewextendsLinearLayout{Paintpaint1;publicCircleView(Contextcontext){super(context);init();}publicCircleView(Contextcontext,AttributeSetattrs){super(context,attrs);init();}publicvoidinit(){paint1=newPaint();paint1.setColor(Color.RED);}protectedvoidonDr

android - 使用 Canvas.drawColor() 清除 Canvas

我正在尝试更改自定义View的背景图片,并取得了一些成功。图像会改变,但问题是我仍然看到旧图像的痕迹。当我尝试在绘制新图像之前清除Canvas时,它似乎不起作用。我创建了一个位图来存储图像。更改图像时,我在绘制新图像之前调用Canvas.drawColor()但旧图像仍然存在。我试过drawColor(0)、drawColor(Color.BLACK)、c.drawColor(0,PorterDuff.Mode.CLEAR),但以上均无效。因此,我不得不发布这篇文章以供比我更有经验的人审阅。实际代码如下:privateintbgnd;privatebooleanswitching;pu