标签: blurry

UIPopoverController的内容很模糊

我在我的应用程序中呈现了一个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/),我仍然会遇到同样的问题.

谢谢.

blurry ipad ios uipopover

5
推荐指数
1
解决办法
720
查看次数

android&libgdx - 禁用模糊渲染

我正在试用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)

fonts android textures blurry libgdx

5
推荐指数
1
解决办法
4291
查看次数

在Firefox中,纯CSS三角形看起来很模糊

我试图在CSS技巧http://css-tricks.com/snippets/css/css-triangle/中使用本文中使用的纯css三角形,但在firefox 14中看起来模糊.我能以某种方式解决它或者是只是FF没有正确呈现它?

编辑:这是一个截图,它看起来像http://awesomescreenshot.com/0fcf904eb我认为这是一个普遍的问题,所以我只是把文章的链接抱歉

css firefox blurry

5
推荐指数
2
解决办法
1881
查看次数

自定义键盘键看起来很模糊

我定制了软键盘.但键盘键(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)

keyboard android blurry soft-keyboard

5
推荐指数
2
解决办法
1469
查看次数

如何让opengl mipmaps更清晰?

我正在重写一个基于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.但我不知道该怎么做......

opengl gis blurry mipmaps

4
推荐指数
1
解决办法
2419
查看次数

将AnchorPanes添加到ScrollPanes Javafx 8

在JavaFX中,当我向ScrollPane添加一个内置Label的AnchorPane时,整个AnchorPane有点模糊,好像它有一个Photoshop羽毛效果.我正在使用Java8最新版本.Java7不是这种情况.你以前遇到过这个问题吗?

javafx blurry java-8

4
推荐指数
1
解决办法
1731
查看次数

画布元素与模糊的线条

我想知道为什么我的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

javascript canvas blurry

4
推荐指数
1
解决办法
2360
查看次数

WPF中的模糊转换文本

我使用DrawingContext.DrawTextDrawingContext.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)

c# wpf blurry formatted-text drawingcontext

4
推荐指数
1
解决办法
913
查看次数

移动浏览器上带有阴影模糊的 SVG

我正在努力在尽可能多的平台上制作带有阴影的 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 中的图标将再次清晰,因此我认为它与阴影有一些共同之处。

任何人都遇到了同样的问题,并找到了解决方案?

css svg blurry drop-shadow

4
推荐指数
1
解决办法
1410
查看次数

OpenCV,拉普拉斯的变异(Java)

我试图根据图像找到拉普拉斯算子的变体,目的是根据图像的模糊度得到一个数值.

这是一篇有用的帖子 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)

任何帮助,将不胜感激.

基本上,我从一个图像开始,想要使用拉普拉斯算法得到一个代表图像模糊度的值.

java opencv image-processing blurry

4
推荐指数
2
解决办法
4311
查看次数