android-canvas相关内容
我有一个连接到外部打印机设备的应用程序,我需要获取一些用户数据并动态制作图像并进行打印.打印机API需要位图作为打印输入.请注意,我从不希望将以编程方式创建的图像绘制到屏幕上.图像的生成和打印没有可见的UI,它发生在后台. 到目前为止,我已经考虑过以下方法之一: 1)制作画布,从不调用绘图函数,将其转换为位图然后打印(与使用Canvas API的预期方式有些出入) 2)创建一个隐
..
我需要在项目中创建贝塞尔曲线.为此,我正在用油漆绘制一个视图,但是问题是我没有得到我所需的确切形状,如下图所示.因此,请帮我解决您的问题,并在我的代码中进行更改或修改.预先感谢. 我用来创建贝塞尔曲线的代码: public class DrawView extends View { public DrawView (Context context) { sup
..
如何绘制带有淡入淡出(不透明或较粗)线条的Path?像这样的东西. 我知道有LinearGradient着色器用于Paint,但不会沿Path弯曲 . 一种可能的解决方案是沿Path获取点,然后由我自己通过线段将其绘制出来.但是我也找不到任何方法. 解决方案 我想到了以下代码. mos重要的事情是if (getGesturePath() != null) { final sho
..
我想用自定义画笔&来实现画布绘图应用程序撤消/重做操作.首先,我的代码无需使用自定义画笔即可完美工作(包括撤消/重做操作).根据此答案如何在android中制作画布自定义画笔? 我使用简单的图像尖峰进行位图绘制. 现在的问题是, 撤消,重做操作不起作用,每当移动触摸点时,一遍又一遍地自定义画笔绘制. 问:如何使撤消/重做操作生效? 自定义的笔刷笔触不应该平滑.现在,它们看起
..
好的,所以我会尽力解释我的问题. 我已使用此代码来获取我的FrameLayout的“屏幕截图" /** * Function that takes a screenshot of the view passed and returns a bitmap for it. * * @param view {@link View} * @return screenshot of the v
..
我是android开发的新手,但我发现很难在camera2 api上找到好的示例. 在处理大多数问题时,我的工作进展缓慢,但是在这一问题上,我陷入了困境. 在默认相机中,当您触摸屏幕进行对焦时,它会暂时显示对焦区域的矩形.我想做类似的事情(或者在这种情况下,从一开始就完全一样,以便我能弄清楚). 我读到某处(我认为SDK文档中的TextureView页面),您在将其用作相机预览时无法在
..
我正在尝试SurfaceView.我的要求是先简单地渲染一个节点(简单的可绘制对象).然后,在以后的某个时间点渲染更多节点. 我的线程的运行方法&的代码段我的doDraw方法如下.我只是想在随后的传递中渲染2个不同的可绘制对象,同时保留两者.问题是它擦除了第一遍中写入的所有内容(请参见代码中的注释). 如何保留先前绘制的对象? public void run() {
..
在Android上, Canvas.drawText() 不会渲染超过特定字体大小的表情符号. 在256像素以下的位置校正渲染: 在256像素以上的渲染不正确: (有一个类似的问题关于Google Chrome浏览器,与Android一样,Chrome浏览器也使用Skia图形库,因此这似乎是Skia中的 bug .) 显然,表情符号无法在我的设备上呈现256 px以上的字体大小
..
我正在画布上画一些圆圈.我想对每个圆应用一个径向渐变. 我目前正在为每个圆分配一个新的渐变,但是我猜这不是一个好主意. protected void onDraw(Canvas canvas) { int radius = 6; int cx = radius; int cy = radius ; for(int i = 0; i
..
我正在制作一款会在屏幕上创建随机圆圈的游戏.随机创建的圆的值将为红色或绿色. 我的问题是,我不仅希望能够确定用户何时单击了一个圆圈,还可以确定用户最终单击了哪个圆圈(红色或绿色). 我的主要问题是试图找到要绘制的圆的x和y. 这是我的代码: public class DrawingView extends View { public DrawingView(
..
基于Android文档,方法 onCreateThumbnail ,并且应在该位图的尺寸内将所需缩略图的图像绘制到outBitmap中.如果需要,它可以使用给定的canvas(用于配置绘制到位图中)进行渲染. 默认实现返回失败,并且不绘制缩略图;这将导致平台根据需要创建自己的缩略图. 当该方法返回true时,系统将不使用标准缩略图,而是使用(或应使用)绘制到canvas中的自定义缩略图
..
我正在尝试保存在View上绘制的路径,但我只是不知道该怎么做. 这是我在“活动"中创建视图并将其设置为内容的操作: View accPathView = new AccPathView(this, steps); setContentView(accPathView); 然后在View类的onDraw方法中,我只是创建一个路径并将其绘制在作为参数接收的画布上 但是,当我尝试使
..
我是Android的新手,我正在使用drawArc函数向用户显示某些任务的进度,但是现在我希望对此进行动画处理,使其看起来好像正在增长。 我使用以下代码但不起作用: new Thread(new Runnable(){ int i = 0; float startAngle = 0; float swipeAngle = 40.7f; public void run()
..
我使用我的代码生成了一个简单的波形,如下图所示。 但是我想在每一行之间留出更多的空隙,我希望它像下面的picutre之类的音云波。 这是我的代码: 公共类VisualizerView扩展了View { private static final int LINE_WIDTH = 15; //可视化工具行的宽度 private static final int LINE_SCAL
..
如何在SurfaceView中拖动自定义视图。触摸事件不会从SurfaceView调度到子自定义视图,或者不会调用子视图的onTouchEvent。 解决方案 尝试此代码 公共类MoveViewTouchListener实现View.OnTouchListener { private GestureDetector mGestureDetector; 私人检视mView;
..
我有一个Android项目,应该让苹果跌倒。苹果涂在矩形中。因此,我创建了一个更改Rect位置并重新绘制的函数。这是我的功能: private void updateApplesPosition(){ for(Rect rect:fallingDownFruitsList) rect .set(rect.left,rect.top +10,rect.right,rect.bottom
..
目前,我在遍历TextView文本的副本时使用 paintObject.measureText(textCopy.substring(0,i))。例如, measureText(“ abc” .substring(0,1))会给我'b'的相对x坐标。我从 layout.getLineTop()获得的 y 坐标。这是可行的,但对于非等宽字体的 x 坐标,不准确。我可以进行一些校准,但是在每个设备上它
..
在Android上进行PDF打印工作时遇到了麻烦.我想做的是在WebView中呈现一些HTML,然后在PDF画布上绘制WebView内容,最后将PDF写入文件.我遇到的问题是,即使剩余了很多画布,当我绘制到PDF画布时,内容也会被剪切.我尝试使用.clipRect(Rect rect, Op op)调整画布的大小,这种方法可以完成,但效果不理想. 我也不知道如何将HTML px尺寸可靠地转换
..
我正在尝试在android中绘制圆弧. 在IOS中,使用这种方法真的很容易 [path addArcWithCenter: radius: startAngle: endAngle: clockwise:] 在android中,我有3个点(我的圆心和我想在其之间画圆弧的两个点): Point center = new Point(..., ...); Point p1 = new
..
我将尝试开发可在其中绘制平面图的应用程序.因此,每个房间都有自己的 ID 或名称,如果我触摸一个房间,我想显示带有该ID或名称的Toast消息.问题是如何检查是否碰触了哪个路径! 我看到了很多讨论此问题的主题讨论.有人说要使用 getBounds 方法,然后包含用于检查触摸点是否在Rect中的方法.但是,我猜想getBounds方法返回包含路径的最小Rect,对吧? 因此,房间具有不同
..