我正在开发一款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 …
当工作流必须"响应"用户提供的答案时,状态机可以在存在多个循环和分支或逻辑时降低工作流的复杂性.这将是一个事件驱动的工作流程.
在什么情况下你选择使用状态机,在时间和复杂性方面减少了什么类型的疼痛?
我在一家拥有多个面向公众的网站的公司工作。
其中一些站点是使用第三方产品(Moveable Type、myBB、Trac 等)构建的。我们还有几个基于 Microsoft 堆栈构建的定制站点。
目前,我们没有统一的认证/授权解决方案;每个站点都实现自己的用户存储。
我热衷于在所有站点上实施统一的用户身份验证。我不希望实现单点登录(如果在切换站点时提示用户输入凭据,这不会很糟糕),但我确实需要每个用户都有一个用户名和密码。
在我看来,最可能的解决方案是实现 LDAP 服务器。我们使用的一些第三方产品支持 LDAP,我可以修改我们的定制站点以使用 LDAP。
但是,我从未使用过 LDAP 存储来管理外部用户(我一直在构建自己的用户存储)。
使用 LDAP 的优缺点是什么?我是否忽略了其他选择?
谢谢
沙
authentication forms-authentication ldap active-directory openldap
我想渲染一个简单的列表 - 控件.我的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()上崩溃
在Mac OS X上使用内置Apache进行本地Web开发有哪些优点和缺点,特别是10.6 Snow Leopard?
我不知道使用内置的Apache,而是存在MAMP和XAMPP等选项.但是,出于某些原因,我还没有完全了解使用内置Apache与使用基于MAMP/XAMPP(或其他)解决方案的优势或潜在缺陷.
~/development而不是~/Sites(这可能不重要,但我想提到它)有没有办法使用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循环幻灯片的页面上运行一个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) 我试图了解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)
我已经搜索了一段时间,但找不到任何提示.有人可以向我解释一下吗?
这是否意味着动画?
有吨的有关设计和安全发展(甚至在SO一堆职位)好论文,但他们似乎专注于什么,你应该做的.
然而,我所追求的是一个像黑客一样的思维清单.完成开发后应该完成的简单操作列表,以确保解决方案的安全性.
(更新:我最感兴趣的是黑盒清单 - "去一个页面,试试这个和那个"的东西,但白盒清单也可能是有意义的.)
这是我到目前为止所提出的:
HtmlEncode和编码UrlEncodehttp://www.example.com/foo?bar=HugeAmountOfData以确保约束输入并进行边界检查.Web层.
[ValidateAntiForgeryToken]属性以防止跨站点请求伪造攻击.Response.Write(直接或间接)永远不会用于显示用户输入.服务层.
数据库层.
SELECT *但始终明确指定列列表.@@TRANCOUNT等)中运行并显式提交/回滚它.评论?更正?缺少步骤?
使其成为社区维基,您可以随意编辑.
是否有一个命令行开关传递给默认情况下git diff使用less寻呼机的其他命令?
我知道我可以将它传递给cat,但这会删除所有语法高亮显示.
我知道我可以将全局.gitconfig中的寻呼机设置为cat by GITPAGER=cat(或类似的东西); 但我想有时候有寻呼机(取决于差异的大小).
但是,如果有的话,我更喜欢命令行开关; 我无法找到一个,通过手册页.