jjzjj

subpixel

全部标签

javascript - 使用 svg 防止子像素渲染

我目前正在使用SVG,但走到了死胡同。SVG有线条,它们应该与缩放一起缩放(以便它们保持平衡:例如100%宽度10px-->10%宽度1px)我用这段代码缩放所有stroke-widths:varsvgPath=this._svgContainer.find('svg[class*="style"]');for(vari=0;i其中width是缩放后的新宽度,imgData.w是原始未缩放的宽度。问题是,如果我放大到很远。笔划变小并导致亚像素渲染。据说黑线会变成灰色。我的想法是在某个点削减值(value)以防止它。但据我所知,由于屏幕(桌面、移动、4K)不同,我也必须考虑设备像素比如果

Java 字体呈现 : Must general AA really be turned off for subpixel AA?

我一直在尝试增强我用Java编写的GUI系统以使用子像素抗锯齿功能并且取得了成功,除了一个遗留异常。这是myotherquestionfromyesterday的后续.剩下的问题是,将渲染提示KEY_ANTIALIASING设置为VALUE_ANTIALIAS_ON会导致KEY_TEXT_ANTIALIASING在设置为LCD(子像素)AA值时被忽略。任何人都可以阐明这一点吗?目前,我被迫在渲染文本之前关闭VALUE_ANTIALIAS_OFF,并在渲染文本之后将其重新打开(以便其他绘画,如圆圈等,是AA'd)。下面的独立测试程序证明了这个问题。如您所见,如果您运行它,当字体不是时,圆

java - 使用 Graphics2D 使用亚像素级精度绘制图像

我目前正在尝试像在视频游戏中一样以固定速率在屏幕上绘制图像。不幸的是,由于图像移动的速度,一些帧是相同的,因为图像还没有移动一个完整的像素。有没有办法向Graphics2D提供float值而不是int值来绘制图像?最初这是我所做的:BufferedImagesrcImage=sprite.getImage();PositionimagePosition=...;//Definedelsewhereg.drawImage(srcImage,(int)imagePosition.getX(),(int)imagePosition.getY());这当然是阈值,所以图片不会在像素之间移动,而

java - 有什么方法可以在 Swing 中以亚像素精度绘制线条?

Thisquestionhasbeenaskedbefore,但答案并没有解决问题,所以我再问一次。有人建议您可以使用g2.draw(line)而不是使用g2.drawLine,其中line是Line2D.Double。但是,正如您从屏幕截图中看到的那样,线条仍然绘制得好像它们以整数像素结束(每组10条线完全平行)。importjavax.swing.*;importjava.awt.*;importjava.awt.geom.Line2D;publicclassFrameTestBaseextendsJFrame{publicstaticvoidmain(Stringargs[]){

c++ - 以亚像素精度检测激光线的中心

我正在使用C++和OpenCV开发一个简单的“激光线”扫描仪。到目前为止我可以检测到激光线的中心,精度为1个像素,因此我有一个可能的“子像素”函数/算法的起点。(激光线大约15-20像素宽)现在我有兴趣将其改进为亚像素精度。我知道OpenCV有一些亚像素检测功能,但据我所知这些仅用于检测角落。如果有人有任何建议,我很想听听。一些信息;系统:QTFramework、C++、OpenCV库相机;单色(没有颜色),配备红色滤镜图像分辨率;2560x1920注意:激光线只会分析1张图像。 最佳答案 有两种基本方法我用过,效果不错:简单:在一

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.我的问题是:是否有任何现有的解决方法?注意:在另一个位图中绘制文本一次,然后使用浮点偏

html - 在 Canvas 上绘制的文本抗锯齿效果不佳

我在Canvas上绘制文本,对抗锯齿的质量感到失望。据我所知,浏览器不会对Canvas上的文本进行亚像素抗锯齿处理。这准确吗?这在iPhone和Android上尤为明显,生成的文本不如其他DOM元素呈现的文本清晰。对于在Canvas上输出的高质量文本有什么建议吗?朱伯特 最佳答案 我的答案来自此链接,也许它会对其他人有所帮助。http://www.html5rocks.com/en/tutorials/canvas/hidpi/重要代码如下。//finallyquerythevariouspixelratiosdevicePixel

html - 在 Canvas 上绘制的文本抗锯齿效果不佳

我在Canvas上绘制文本,对抗锯齿的质量感到失望。据我所知,浏览器不会对Canvas上的文本进行亚像素抗锯齿处理。这准确吗?这在iPhone和Android上尤为明显,生成的文本不如其他DOM元素呈现的文本清晰。对于在Canvas上输出的高质量文本有什么建议吗?朱伯特 最佳答案 我的答案来自此链接,也许它会对其他人有所帮助。http://www.html5rocks.com/en/tutorials/canvas/hidpi/重要代码如下。//finallyquerythevariouspixelratiosdevicePixel

html - 禁用 html/css 边框上的亚像素别名

我正在使用csstransform:scale来放大一些元素,现在边框,原来是1pxsolidblack,得到一些子像素渲染-'antialiasing'-因为它们现在是1.4px或其他东西。它的具体外观取决于浏览器,但在所有现代浏览器上都是模糊的。我可以禁用某些元素的子像素渲染吗? 最佳答案 在使用transform:scale(ratio)进行缩小时遇到了类似的问题,除了边界会在子像素渲染时完全消失而不是模糊。由于我在类似的用例中(使用js动态缩放),我决定实现原作者评论中建议的javascript解决方案:container.

html - 禁用 html/css 边框上的亚像素别名

我正在使用csstransform:scale来放大一些元素,现在边框,原来是1pxsolidblack,得到一些子像素渲染-'antialiasing'-因为它们现在是1.4px或其他东西。它的具体外观取决于浏览器,但在所有现代浏览器上都是模糊的。我可以禁用某些元素的子像素渲染吗? 最佳答案 在使用transform:scale(ratio)进行缩小时遇到了类似的问题,除了边界会在子像素渲染时完全消失而不是模糊。由于我在类似的用例中(使用js动态缩放),我决定实现原作者评论中建议的javascript解决方案:container.