草庐IT

tkinter-canvas

全部标签

android - 有没有办法在不使用 Path 的情况下用 Canvas 绘制填充区域?

我想知道是否有一种方法可以在不使用Path类并调用canvas的情况下使用AndroidCanvas绘制填充区域(如填充多边形).drawPath(...).我想在没有Path的情况下执行此操作的原因是因为我必须绘制非常大的数据集并且canvas.drawPath(...)不是硬件加速的,因此慢。由于硬件加速,使用canvas.drawLines(...)时的性能要好得多,但是我还没有找到一种方法来绘制使用这种方法填充的多边形(即使线条都已连接)。在使用drawLines(...)时,即使调用paint.setStyle(Style.FILL)也不会填充多边形。有没有一种方法可以不使用

android - 圆形 Android Canvas 上的内部阴影

我需要在我在View的onDraw()方法中绘制的Circle上制作内部阴影和渐变,请参阅this(抱歉,因为我是StackOverflow的新手,我还不能发布图片)我想出了如何让渐变工作,但我无法完成内部阴影到目前为止我发现的是this发布,但它似乎有点复杂并且不完全是我需要的我试过使用setShadowLayer(),但我可能无法正常工作,因为除了内部阴影,我还会得到外部阴影,而这不是我需要的如有任何帮助,我们将不胜感激。谢谢! 最佳答案 您应该能够通过将剪辑设置为圆来避免外部阴影,因为这会将绘图限制在圆内。

java - Canvas 如何确定其裁剪范围?

我一直在用Android的Canvas做一些工作,特别是试图确定它的getClipBounds结果是如何确定的。我了解Canvas内部保留了一个转换Matrix,它在我调用translate、scale等时更新,但尝试复制Matrix的结果让我感到困惑。@OverridepublicvoidonDraw(Canvascanvas){RectclipBounds;RectFviewport;canvas.save();canvas.concat(translationMatrix);//viewportMatrix.preConcat(canvas.getMatrix());viewpo

android - 在 Canvas 上绘制 2 个圆圈

我正在尝试像这样绘制两个圆圈:这就是我尝试这样做的方式:Bitmapbmp=Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_4444);Canvasc=newCanvas(bmp);RectFrect=newRectF(0,0,width,width);Paintpaint=newPaint();drawCircles(paint,c,width,height,width);ImageViewimg=(ImageView)findViewById(R.id.imageView1);img.setImageBitmap(bmp);i

android - Canvas Eraser 正在绘制一条黑线

我用谷歌搜索了这个问题并提出了各种解决方案。但是,没有一个对我有用。我在应用程序中有一个绘图Canvas。在使用自定义View(drawView)的Activity中将canvas的背景设置为png图片;Bundleextras=intent.getExtras();if(extras!=null){if(extras.containsKey("background")){//setthebackgroundtotheresourceintheextrasintimageResource=intent.getIntExtra("background",-1);Drawableimage

android - Android Canvas 中的平滑非常慢的文本动画,SUBPIXEL_TEXT_FLAG 不起作用

我无法在Canvas中实现平滑非常慢的文本动画,因为Canvas.drawText不想在“像素之间”绘制。例如,给定4个连续帧,我在其中绘制Y偏移量为0、0.5、1、1.5的文本,Canvas实际上将分别以偏移量0、0、1、1绘制它,这导致动画为“生涩的”。有一个名为Paint.SUBPIXEL_TEXT_FLAG的标志,它应该保持浮点精度。我发现了一个相关的线程,其中RomainGuy说这个标志目前在Android中不受支持:MeaningofsomePaintconstantsinAndroid.我的问题是:是否有任何现有的解决方法?注意:在另一个位图中绘制文本一次,然后使用浮点偏

android - 如何在 Android Canvas 中使用 "inverted"绘图进行绘制?

我在Canvas上画了一些东西,我想画一个反色的圆圈:canvas.drawCircle(zx,zy,8f,myPaint);如何配置myPaint使圆形像素的颜色与底层像素的颜色相反?谢谢 最佳答案 试试这个floatmx[]={-1.0f,0.0f,0.0f,1.0f,0.0f,0.0f,-1.0f,0.0f,1.0f,0.0f,0.0f,0.0f,-1.0f,1.0f,0.0f,1.0f,1.0f,1.0f,1.0f,0.0f};ColorMatrixcm=newColorMatrix(mx);p.setColorFilter

android - 在缩放的 Canvas 上测量文本

我一直在努力处理文本测量和缩放Canvas。当Canvas未缩放时,getTextBounds和measureText会提供准确的结果。但是,当缩放Canvas时,这两种方法都不会提供与打印文本的实际大小相匹配的结果。为了测试,我使用以下onDraw方法创建了View的子类:finalfloatscaling=0.51f;finalintfontSize=50;canvas.scale(scaling,scaling);font=Typeface.create("Arial",Typeface.NORMAL);Paintpaint=newPaint();paint.setColor(0

android - 缩放位图以适合 Canvas

我试图在机器人上编写游戏,我处理不同屏幕分辨率的方式是制作目标分辨率(320x480)的位图,从中制作Canvas并使用固定坐标在其上绘制所有元素,然后我只是在surfaceViewCanvas上绘制这个位图,它会在不同的屏幕上重新缩放。问题是,当我在我的框架上绘制东西时,即使框架与位图的大小相同,位图也会超出范围。(位图为320x480,它被拉伸(stretch)并且不适合屏幕)这是代码:publicclassGraphics{privateBitmapframeBuffer,grid;privateCanvascanvas;publicGraphics(Contextcontext

40. 实战:基于tkinter实现用户UI界面——对34小节的VIP音乐解析系统的全面升级(附源码)

目录前言目的思路代码实现1.首先设计主页UI界面2.封装核心解析歌曲代码3.下载音乐到本地4.将界面居中,禁止修改窗口大小,等待关闭/退出指令 完整源码运行效果使用过程菜单栏打包的exe总结前言本节将升级34.实战:基于某api实现歌曲检索与下载(附完整源代码),也将基于api实现视频解析播放的功能,并且还实现了用户UI界面,可以用pyinstaller等库导出exe来永久保存可执行文件。博主已经成功导出可执行文件,包括上一节的视频解析软件也已经导出。需要的小伙伴可以私信我或者评论区留言,我分享给你~目的实现一个VIP音乐解析系统,要求能够通过关键字检索需要的歌曲,并且设计用户界面,进行直观的