我在我的应用程序中呈现了一个UIPopoverController,但内容视图看起来有点模糊.
为了演示,我将内容视图控制器的第二个实例直接放在self.view上,通过比较很容易看出弹出窗口中的文本是模糊的.在设备和模拟器中都会出现此问题.
截图:

码:
// ...
// init the edit view controller
editSOViewController = [[EditViewController alloc]
initForNewObjectWithDict:dict];
// init popover with editSOViewController
UIPopoverController *popover = [[UIPopoverController alloc]
initWithContentViewController:editSOViewController];
// set size
navPopover.popoverContentSize =
CGSizeMake(editSOViewController.view.frame.size.width,
[editSOViewController heightForViewControllerInPopoverView]);
// this is blurry
[popover presentPopoverFromRect:image.frame
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
// this is clear
editViewController *test =
[[EditViewController alloc] initForNewObjectWithDict:dict];
[self.view addSubview:test.view];
Run Code Online (Sandbox Code Playgroud)
有什么可能导致这个的想法?我认为UIPopover可能会略微缩小视图,但我用图像编辑器排列了两个例子,大小没有差异(但在popover视图中有明显的"模糊").
如果我使用WEPopover(https://github.com/werner77/WEPopover/),我仍然会遇到同样的问题.
谢谢.
我正在试用libgdx作为opengl包装器,我的图形渲染有一些问题:由于某种原因,Android设备上的所有图像(纹理)看起来都有点模糊使用libgdx.这还包括文字(字体).
对于文本,我认为这是因为我使用位图字体,但我找不到替代品 - 我发现有一个名为"gdx-stb-truetype"的库,但我找不到如何下载并使用它.
对于普通图像,即使我没有任何缩放显示整个图像,我希望它看起来像我在电脑屏幕上看到的那样清晰,特别是如果我在设备上有这么好的屏幕(它是星系连接).我试图通过使用下一个代码来关闭抗锯齿:
final AndroidApplicationConfiguration androidApplicationConfiguration=new AndroidApplicationConfiguration();
androidApplicationConfiguration.numSamples=0; //tried the value of 1 too.
...
Run Code Online (Sandbox Code Playgroud)
我也尝试将缩放方法设置为各种方法,但没有运气.例:
texture.setFilter(TextureFilter.Nearest,TextureFilter.Nearest);
Run Code Online (Sandbox Code Playgroud)
作为测试,我发现了一个与设备上看到的分辨率完全相同的清晰图像(720x1184对于galaxy nexus,因为按钮栏),我把它放在了libgdx的背景上app.当然,我必须添加额外的空白区域才能加载文本,因此图像的最终尺寸(包括内容和空白空间)对于宽度和高度仍然是2的幂(1024x2048 in this案件) .在桌面应用程序上,它看起来不错.在设备上,它看起来很模糊.
我注意到的一个奇怪的事情是,当我改变设备的方向(水平<=>垂直)时,在旋转动画开始前的很短时间内,我会很好地看到图像和文本.
肯定libgdx可以处理这个,因为android的api-tests项目的opengl部分显示图像就好了.
@ user1130529:我确实使用spritebatch.另外,这是我设置视口的方法.无论我是否选择保持纵横比,都会发生这种情况.
public static final int VIRTUAL_WIDTH =720;
public static final int VIRTUAL_HEIGHT =1280-96;
private static final float ASPECT_RATIO =(float)VIRTUAL_WIDTH/(float)VIRTUAL_HEIGHT;
...
@Override
public void resize(final int width,final int height)
{
// calculate new viewport
if(!KEEP_ASPECT_RATIO)
{
_viewport=new Rectangle(0,0,Gdx.app.getGraphics().getWidth(),Gdx.app.getGraphics().getHeight());
Gdx.app.log("DEBUG","size:"+_viewport);
return;
}
final float currentAspectRatio=(float)width/(float)height;
float scale=1f;
final Vector2 crop=new Vector2(0f,0f);
if(currentAspectRatio>ASPECT_RATIO)
{
scale=(float)height/(float)VIRTUAL_HEIGHT; …Run Code Online (Sandbox Code Playgroud) 我试图在CSS技巧http://css-tricks.com/snippets/css/css-triangle/中使用本文中使用的纯css三角形,但在firefox 14中看起来模糊.我能以某种方式解决它或者是只是FF没有正确呈现它?
编辑:这是一个截图,它看起来像http://awesomescreenshot.com/0fcf904eb我认为这是一个普遍的问题,所以我只是把文章的链接抱歉
我定制了软键盘.但键盘键(1,2,3,4,5,6,7,8,9,0,和OK)看起来很模糊.删除键很好,但其他键看起来很模糊.
这是我的键盘.

这是我的自定义键盘xml文件
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:horizontalGap="0px"
android:keyHeight="10%p"
android:keyWidth="24%p"
android:verticalGap="0px" >
<Row>
<Key
android:codes="49"
android:keyEdgeFlags="left"
android:keyLabel="1" />
<Key
android:codes="50"
android:keyLabel="2" />
<Key
android:codes="51"
android:keyLabel="3" />
<Key
android:codes="-3"
android:keyEdgeFlags="right"
android:keyLabel="OK"
android:keyWidth="28%p" />
</Row>
<Row>
<Key
android:codes="52"
android:keyEdgeFlags="left"
android:keyLabel="4" />
<Key
android:codes="53"
android:keyLabel="5" />
<Key
android:codes="54"
android:keyLabel="6" />
<Key
android:codes="-5"
android:isRepeatable="true"
android:keyEdgeFlags="right"
android:keyIcon="@drawable/sym_keyboard_delete"
android:keyWidth="28%p" />
</Row>
<Row>
<Key
android:codes="55"
android:keyEdgeFlags="left"
android:keyLabel="7" />
<Key
android:codes="56"
android:keyLabel="8" />
<Key
android:codes="57"
android:keyLabel="9" />
<Key
android:codes="48"
android:keyLabel="0"
android:keyWidth="14%p" />
<Key
android:codes="46"
android:keyEdgeFlags="right"
android:keyLabel="."
android:keyWidth="14%p" />
</Row>
Run Code Online (Sandbox Code Playgroud)
我正在重写一个基于opengl的gis/mapping程序.除此之外,该程序还允许您加载航海图的光栅图像,将它们固定为lon/lat坐标,并缩放和平移它们.
该程序的先前版本使用自定义平铺系统,其实质上它以256x256像素平铺的形式手动创建原始图像的mipmap,具有不同的两个功率的缩放级别.使用简单的四点平均算法,从缩放级别n的四个区块构造用于缩放级别n-1的区块.因此,它关闭了opengl mipmapping,相反,当需要在某个缩放级别绘制图表的某些部分时,它会使用最接近匹配缩放级别的切片(即,切片的功率为2倍)级别,但程序允许任意缩放级别),然后缩放切片以匹配实际缩放级别.当然,它必须在各个级别管理所有这些磁贴的缓存.
在我看来,这个平铺系统过于复杂.看起来我应该能够让图形硬件为我完成所有这些mipmapping工作.所以在新程序中,当我在图像中读取时,我将其切割成每个1024x1024像素的纹理.然后我将每个纹理固定到它的lon/lat坐标,然后我让opengl处理其余部分,同时缩放和平移.
它有效,但问题是:我的结果比原始程序有点模糊,这对于这个应用程序很重要,因为你希望能够尽可能早地在图表上阅读文本,缩放.所以它看起来像原始程序使用的简单平均四点算法在清晰度方面比opengl +我的GPU提供更好的结果.
我知道有几个glTexParameter设置来控制mipmaps如何工作的某些方面.我尝试了GL_TEXTURE_MAX_LEVEL(从0到10的任何地方)的各种组合以及GL_TEXTURE_MIN_FILTER的各种设置.当我将GL_TEXTURE_MAX_LEVEL设置为0(没有mipmap)时,我肯定会得到"锐利"的结果,但它们太尖锐了,因为像素只是在这里和那里被丢弃,所以这些数字在中间缩放时是不可读的.当我将GL_TEXTURE_MAX_LEVEL设置为更高的值时,当您缩放到远处时(例如,当整个图表适合屏幕时),图像看起来非常好,但是当您放大到中间缩放时,您会注意到模糊,特别是在查看时图表上的文字.(也就是说,如果不是文本你可能会认为"哇,opengl在平滑地缩放我的图像方面做得很好."但是你会想到"为什么这张图表没有焦点?")
我的理解是,基本上你告诉opengl生成mipmap,然后在放大时选择要使用的相应mipmap,并且在两个最接近的mipmap级别之间进行插值有一些有限的选项,并使用最接近的像素或平均附近的像素.但是,正如我所说,这些组合似乎都没有给出相同的结果,在图表上的相同缩放级别(即缩放级别,文本很小但不是微小的,就像相当于"7点"或" 8点"大小",与之前的基于图块的版本一样.
我的结论是opengl创建的mipmaps比以前使用平均四点算法创建的mipmap简单,并且没有选择正确的mipmap或LINEAR vs NEAREST将获得我需要的清晰度.
具体问题:
(1)与原始程序中的平均四点算法相比,opengl实际上制作模糊mipmap似乎是正确的吗?
(2)在使用glTexParameter时,我是否可能忽略了一些东西,使用opengl制作的mipmaps可以提供更清晰的结果?
(3)我是否有办法让opengl首先制作更清晰的mipmap,例如使用"立方"滤镜或以其他方式控制mipmap创建过程?或者就此而言,似乎我可以使用相同的平均四点代码来手动生成mipmap并将它们移交给opengl.但我不知道该怎么做......
在JavaFX中,当我向ScrollPane添加一个内置Label的AnchorPane时,整个AnchorPane有点模糊,好像它有一个Photoshop羽毛效果.我正在使用Java8最新版本.Java7不是这种情况.你以前遇到过这个问题吗?
我想知道为什么我的canvas元素的边缘/线条模糊(Chrome,IE,FF)并且有一个所谓的"锯齿效果"(这个表达式是否存在于英文?:-)),你可以在这里看到:

这只是一个快速的第一次尝试 - 也许我做错了什么?这是代码:
c2 = document.getElementById('test').getContext('2d');
c2.fillStyle = '#f00';
c2.beginPath();
c2.moveTo(0, 0);
c2.lineTo(100, 0);
c2.lineTo(80, 50);
c2.lineTo(0, 50);
c2.closePath();
c2.fill();
c2.fillStyle = "#000";
c2.beginPath();
c2.moveTo(0, 50);
c2.lineTo(80, 50);
c2.lineTo(60, 100);
c2.lineTo(0, 100);
c2.closePath();
c2.fill();
Run Code Online (Sandbox Code Playgroud)
我还把它添加到这个JS Fiddle
我使用DrawingContext.DrawText和DrawingContext.PushTransfrom创建在WPF视觉层旋转的文本,但正如你在下面的图片中看到的,旋转的文本是在图像的某些区域,而模糊的..
有什么我可以用来改善的选择吗?该宋体字体用于文本。

public class BeamTextDrawing : FrameworkElement
{
private readonly VisualCollection _visuals;
public BeamTextDrawing(double scale)
{
if (scale <= 0)
{
scale = 1;
}
var typeface = Settings.BeamTextTypeface;
var cultureinfo = Settings.CultureInfo;
var flowdirection = Settings.FlowDirection;
var textsize = Settings.BeamTextSize / scale;
var beamtextcolor = Settings.InPlanBeamTextColor;
_visuals = new VisualCollection(this);
foreach (var beam in Building.BeamsInTheElevation)
{
var drawingVisual = new DrawingVisual();
using (var dc = drawingVisual.RenderOpen())
{
var text = Convert.ToString(beam.Section.Id);
//text = …Run Code Online (Sandbox Code Playgroud) 我正在努力在尽可能多的平台上制作带有阴影的 SVG 图标。
我为此使用了以下简单的 CSS:
.test{
width: 14px;
height: 14px;
background-image: url("../images/test.svg");
background-repeat: no-repeat;
opacity: 0.8;
-webkit-filter: drop-shadow(1px 1px 0px #E0E0E0);
}
Run Code Online (Sandbox Code Playgroud)
在 Chrome、Firefox 和 IE 等桌面浏览器上运行良好。但是在移动浏览器上,问题开始了:在 Chrome 中,图标变得模糊,而在 Firefox 中,阴影被忽略了。删除阴影时,Chrome 中的图标将再次清晰,因此我认为它与阴影有一些共同之处。
任何人都遇到了同样的问题,并找到了解决方案?
我试图根据图像找到拉普拉斯算子的变体,目的是根据图像的模糊度得到一个数值.
这是一篇有用的帖子 http://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/
cv2.Laplacian(image, cv2.CV_64F).var()
Run Code Online (Sandbox Code Playgroud)
我一直在努力实现同样的运气.我的起点是表示图像的字节[](img):
Mat mat = new Mat(img.getImageHeight(), img.getImageWidth(), CvType.CV_8UC3);
Imgproc.cvtColor(mat, mat, Imgproc.COLOR_BGR2GRAY);
mat.put(0, 0, putData.getFileContents());
Imgproc.Laplacian(mat,mat, CvType.CV_64F);
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
基本上,我从一个图像开始,想要使用拉普拉斯算法得到一个代表图像模糊度的值.