问题列表 - 第20572页

Android:BitmapFactory.decodeByteArray给出像素化位图

我正在开发一款Android应用,可以显示从Flickr下载的照片.我从字节数组中获取一个位图对象,然后从相关的Flickr URL中读取,如下所示:

BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inDither = true;
opt.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length, opt);
Run Code Online (Sandbox Code Playgroud)

然后我将位图绘制到View对象的onDraw方法的画布上:

Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
canvas.drawBitmap(bitmap, 0, 0, paint); 
Run Code Online (Sandbox Code Playgroud)

问题是得到的图像是像素化的,我无法弄清楚为什么; 我已经尝试了一些opt和paint对象的变种而没有运气.我的应用程序中显示的图片与原始URL中的图片之间的差异大致由以下内容证明:

图片不好,请参见左上角的像素化http://homepages.inf.ed.ac.uk/s0677975/bad.jpg

好照片,这是预期的结果http://homepages.inf.ed.ac.uk/s0677975/good.jpg

看看例如在左上角的云层中看到差异.

请注意,从项目资源加载并以类似方式绘制的JPEG图片显示正常,即没有像素化.

谁能给我一个暗示为什么会这样?

为了详细说明,字节数组是从Flickr获得的,如下所示; 这是基于Romain Guy的Photostream应用程序的代码:

InputStream in = new BufferedInputStream(url.openStream(), IO_BUFFER_SIZE);
final ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
out = new BufferedOutputStream(dataStream, IO_BUFFER_SIZE);
copy(in, out);
out.flush();
final byte[] data = dataStream.toByteArray();
Run Code Online (Sandbox Code Playgroud)

PS:我还在android.developer Google小组上发布了这个问题的变体.


非常感谢你的建议 - 现在我真的很困惑!我按照你的建议做了,发现直接从下载的字节数组得到的图像确实是像素化的.但是,这是从完全相同的URL下载的,当在我的计算机上访问时,该URL不是像素化的.这是相应的Flickr URL:

http://farm3.static.flickr.com/2678/4315351421_54e8cdb8e5.jpg

更奇怪的是,当我在模拟器中而不是在我的手机(HTC Hero)上运行相同的应用程序时,没有像素化.

这怎么可能呢?

下面是我用来从URL加载位图的代码 - 它基于Romain …

android flickr image-processing

12
推荐指数
1
解决办法
3万
查看次数

您何时喜欢使用状态机而不是线性工作流程

当工作流必须"响应"用户提供的答案时,状态机可以在存在多个循环和分支或逻辑时降低工作流的复杂性.这将是一个事件驱动的工作流程.

在什么情况下你选择使用状态机,在时间和复杂性方面减少了什么类型的疼痛?

complexity-theory state-machine workflow-foundation

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

对外部用户使用 LDAP 的利弊

我在一家拥有多个面向公众的网站的公司工作。

其中一些站点是使用第三方产品(Moveable Type、myBB、Trac 等)构建的。我们还有几个基于 Microsoft 堆栈构建的定制站点。

目前,我们没有统一的认证/授权解决方案;每个站点都实现自己的用户存储。

我热衷于在所有站点上实施统一的用户身份验证。我不希望实现单点登录(如果在切换站点时提示用户输入凭据,这不会很糟糕),但我确实需要每个用户都有一个用户名和密码。

在我看来,最可能的解决方案是实现 LDAP 服务器。我们使用的一些第三方产品支持 LDAP,我可以修改我们的定制站点以使用 LDAP。

但是,我从未使用过 LDAP 存储来管理外部用户(我一直在构建自己的用户存储)。

使用 LDAP 的优缺点是什么?我是否忽略了其他选择?

谢谢

authentication forms-authentication ldap active-directory openldap

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

如何防止asp:RadioButtonList呈现HTML表?

我想渲染一个简单的列表 - 控件.我的ASP.NET代码隐藏看起来像:

RadioButtonList list = new RadioButtonList();
                    list.ID = rbl.name;
                    list.CssClass = rbl.cssClass;

                    foreach (radio radio in rbl.radio)
                    {
                        ListItem li = new ListItem();
                        li.Text = radio.label;
                        li.Value = radio.value;
                        li.Selected = radio.@checked;
                        list.Items.Add(li);

                    }
Run Code Online (Sandbox Code Playgroud)

但RadioButtonList自动呈现HTML表.如果我使用HtmlInputRadioButton一切正常但它在RenderControl()上崩溃

c# asp.net radiobuttonlist

8
推荐指数
1
解决办法
8996
查看次数

在Mac OS X上使用内置Apache进行Web开发的优点/缺点

在Mac OS X上使用内置Apache进行本地Web开发有哪些优点和缺点,特别是10.6 Snow Leopard?

我不知道使用内置的Apache,而是存在MAMPXAMPP等选项.但是,出于某些原因,我还没有完全了解使用内置Apache与使用基于MAMP/XAMPP(或其他)解决方案的优势或潜在缺陷.

  • 基于MAMP/XAMPP的解决方案的优势是否易于配置?
  • 当不使用内置Apache时,除了易于配置之外还有其他好处吗?例如,是否有类似于使用virtualenv 避免污染原始Python安装的好处?
  • 如果您只是开发静态网页而不需要PHP或MySQL,那么为什么不使用内置的Apache与virtualhost-shVirtualHostX之类的东西来简化配置呢?

配置和使用注意事项

  • 我有兴趣使用虚拟主机,以便同时开发多个网站
  • 我使用git进行版本控制,并且倾向于存储源文件~/development而不是~/Sites(这可能不重要,但我想提到它)

相关的研究

macos workflow

13
推荐指数
1
解决办法
4695
查看次数

如何使用jquery设置高度,宽度到图像

有没有办法使用jquery设置图像的高度和宽度?以下是我的代码

var img = new Image();  
 // Create image
$(img).load(function(){                 
    imgdiv.append(this);
}).error(function () {  
    $('#adsloder').remove();
}).attr({ 
    id: val.ADV_ID,  
    src: val.ADV_SRC,
    title: val.ADV_TITLE,
    alt: val.ADV_ALT
});
Run Code Online (Sandbox Code Playgroud)

谢谢.

jquery

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

尝试使用jquery循环幻灯片显示窗口大小调整

我正试图在一个带有jQuery循环幻灯片的页面上运行一个JavaScript窗口调整大小脚本但是我遇到了一些我似乎无法解决的错误.它会在页面加载时调整第一个图像的大小,但会忘记后续幻灯片的新高度/宽度属性.我可以在使用jQuery之前和之后再次设置这些,但在调整大小之前,图像总是以全尺寸闪烁一小段时间.

jQuery.cycle是否将幻灯片重新调整为原始大小?如果是这样,我该怎么做呢?

$(document).ready(function () {
  $('.slideshow').cycle({
    fx: 'fade',
    speed: 200,
    timeout: 1000,
    pause: 1,
    before: function (currSlideElement, nextSlideElement, options, forwardFlag) {
      resize();
    },
    after: function (currSlideElement, nextSlideElement, options, forwardFlag) {
      resize();
    }
  });

  $('.slideshow').find('img').css("height", "0");
  $('#image').hide().idle(1000).fadeIn();
  resize();
});

$(window).resize(function () {
  resize();
});

function resize() {

  var theheight = window.innerHeight;
  var thewidth = window.innerWidth;

  var imageheight = theheight - 200;

  if (imageheight > 540) {
    imageheight = 540;
  }
  if (imageheight < 300) {
    imageheight = 300;
  }

  var imagewidth …
Run Code Online (Sandbox Code Playgroud)

jquery resize cycle slideshow

8
推荐指数
2
解决办法
1万
查看次数

CSS中"body>*"是什么意思?

我试图了解jQTouch实现的CSS效果.http://www.jqtouch.com/

它有一些包含语法的CSS定义 body > *

body > * {
    -webkit-backface-visibility: hidden;
    -webkit-box-sizing: border-box;
    display: none;
    position: absolute;
    left: 0;
    width: 100%;
    -webkit-transform: translate3d(0,0,0) rotate(0) scale(1);
    min-height: 420px !important;
}
body.fullscreen > * {
    min-height: 460px !important;
}
body.fullscreen.black-translucent > * {
    min-height: 480px !important;
}
body.landscape > * {
    min-height: 320px;
}
body > .current {
    display: block !important;
}
Run Code Online (Sandbox Code Playgroud)

我已经搜索了一段时间,但找不到任何提示.有人可以向我解释一下吗?

这是否意味着动画?

css css-selectors

14
推荐指数
2
解决办法
1万
查看次数

ASP.NET MVC安全清单

有吨的有关设计和安全发展(甚至在SO一堆职位)好论文,但他们似乎专注于什么,你应该做的.

然而,我所追求的是一个像黑客一样的思维清单.完成开发后应该完成的简单操作列表,以确保解决方案的安全性.

(更新:我最感兴趣的是黑盒清单 - "去一个页面,试试这个和那个"的东西,但白盒清单也可能是有意义的.)


这是我到目前为止所提出的:

安全黑盒清单

  • 提交不正确/恶意数据(这里的示例?)以确保输入通过javascript验证类型,长度,格式和范围.
  • 关闭客户端验证并重复上述步骤,以确保这一点
    • 你不仅要检查javascript,还要在服务器端验证
    • 输入在服务器上验证类型,长度,格式和范围
    • 自由形式输入被消毒
    • 包含输入的输出用HtmlEncode和编码UrlEncode
  • 在查询字符串中插入极大量的数据,http://www.example.com/foo?bar=HugeAmountOfData以确保约束输入并进行边界检查.
  • 通过GET访问POST操作,以确保"表单提交"操作仅限于POST.
  • 如果适用,请上传大小/格式不正确的文件(大文件,空文件,带有重命名扩展名的可执行文件等),以确保正常处理上传.
  • (如何从UI检查?)确保绝对URL用于导航.
  • 以没有正确权限的用户身份访问URL,以确保通过操作/控制器属性显式地测试权限.
  • 访问提供不存在详细信息的URL(如不存在的产品ID,您无权访问的项目等),以确保返回正确的错误(404或403等).
  • 通过HTTP访问敏感页面,以确保它仅通过HTTPS可用.

安全白盒清单

Web层.

  • 在调试模式下,中断代码以便抛出异常,以确保它安全失败.确保捕获异常并记录详细消息,但不要将信息泄露给客户端.
  • 如果适用,请确保MVC操作仅限于POST/GET,特定用户角色,还有其他任何内容?.
  • 确保POST操作附带[ValidateAntiForgeryToken]属性以防止跨站点请求伪造攻击.
  • 确保Response.Write(直接或间接)永远不会用于显示用户输入.
  • 确保未在查询字符串或表单字段中传递敏感数据.
  • 确保您的安全决策不依赖于HTTP标头信息.

服务层.

  • 在调试模式下,中断代码以便抛出异常,以确保它安全失败.确保捕获异常并记录详细消息,但不要将信息泄露给客户端.
  • 确保在更新数据库中的任何内容时,您在事务中操作.

数据库层.

  • 确保检索存储过程不使用,SELECT *但始终明确指定列列表.
  • 确保更新/删除存储过程在事务(通过@@TRANCOUNT等)中运行并显式提交/回滚它.

评论?更正?缺少步骤?

使其成为社区维基,您可以随意编辑.

security asp.net-mvc

19
推荐指数
1
解决办法
3029
查看次数

如何防止git diff使用寻呼机?

是否有一个命令行开关传递给默认情况下git diff使用less寻呼机的其他命令?

我知道我可以将它传递给cat,但这会删除所有语法高亮显示.

我知道我可以将全局.gitconfig中的寻呼机设置为cat by GITPAGER=cat(或类似的东西); 但我想有时候有寻呼机(取决于差异的大小).

但是,如果有的话,我更喜欢命令行开关; 我无法找到一个,通过手册页.

git

580
推荐指数
13
解决办法
11万
查看次数