一个简单的问题,我一直很难找到明确的答案:PNG 文件有 DPI 吗?或者也许更重要的是,它在构建支持视网膜的网站/应用程序时是否相关?
我刚刚从我们的设计师那里收到了一个视网膜 iPad 应用程序的 PSD 资源,我必须将其转换为 HTML 以便在应用程序中显示。通常,我收到 2048x1536 @ 72 DPI 之类的文件——双倍大小但标准屏幕 DPI。然后我通常使用 CSS 告诉浏览器如何显示它。
但这次设计师被指示提供 1024x768 @ 144 DPI(标准尺寸但双 DPI)的 PSD。我认为这是不正确的,因为 Photoshop 中的 DPI 设置是用于打印目的。另外,当我将 144 DPI PSD 中的内容保存为 PNG 或 JPG 时,它与从 72 DPI(或 30,000 DPI)PSD 中保存的内容完全相同。 DPI 似乎没有反射(reflect)在我在结果文件中看到的任何设置中,也没有反射(reflect)在不同的文件大小中。充其量,它似乎是元数据。
因此,我的理解是 DPI 在这里不相关,我们应该简单地为视网膜项目请求双倍大小的资源,但我希望在请求新资源之前对这个问题进行一些确认/澄清。我与许多从打印背景过渡的设计师一起工作,所以这是我遇到的一个常见问题,我希望能够在未来为我们的要求提供更好的指导。
最佳答案
DPI 是图像的像素尺寸与其在显示时出现(或应该出现)的物理尺寸之间的关系,无论它是如何显示的(屏幕、打印等)。没有图像格式本身具有 DPI,但任何由像素组成并应以特定物理尺寸显示的实际图像都有 DPI。
您说得对,就图像文件而言,DPI 只是元数据。图像本身是没有固有物理尺寸的像素网格,但 DPI 值表示预期物理尺寸。例如,一张 144 像素宽、DPI 为 144 的图像在显示时应该显示为一英寸宽,而一张 144 像素宽、DPI 为 72 的图像在显示时应该显示为两英寸宽。
当图像显示在 DPI 已知的设备上时,存储在图像中的 DPI 值可用于自动将其缩放到正确的物理尺寸。例如,在 72dpi 显示器上显示的 144dpi 图像应在每个维度上按 50% 缩放,以便将 144 像素(一英寸)的图像映射到 72 像素(一英寸)的显示器表面。但是,Web 浏览器通常不会这样做;图像像素直接映射到屏幕像素,因此您必须手动缩放图像以使其像素尺寸适合显示它们的显示器。
您提到在 2048x1536 @ 72 DPI 和 1024x768 @ 144 DPI 下获取图像,但它们完全不同。一张 2048x1536 72DPI 的图像应显示为约 28.4 英寸宽 (2048/72),而一张 1024x768 144DPI 图像应显示为约 7.1 英寸宽 (1024/144)。您确定您指的不是 2048x1536 @ 144DPI 和 1024x768 @ 72DPI(两者都是 14.2 英寸宽)吗?
顺便说一句,现在的传统(非视网膜)显示器通常是 96 到 100 DPI,而不是 72。例如,我的 20 英寸戴尔 2007WFP 的像素尺寸为 1680x1050。对角线上大约有 1981 个像素,即每英寸大约 99 个像素。 CSS 中的“px”单位实际上定义为 1/96 英寸,在高 DPI 屏幕上可能对应一个以上的物理像素。
关于html - PNG(或 JPG)有 DPI 吗?还是在构建视网膜时无关紧要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27323561/
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h
在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这
所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择
我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.
我正在学习http://ruby.railstutorial.org/chapters/static-pages上的RubyonRails教程并遇到以下错误StaticPagesHomepageshouldhavethecontent'SampleApp'Failure/Error:page.shouldhave_content('SampleApp')Capybara::ElementNotFound:Unabletofindxpath"/html"#(eval):2:in`text'#./spec/requests/static_pages_spec.rb:7:in`(root)'
在编写Ruby(客户端脚本)时,我看到了三种构建更长字符串的方法,包括行尾,所有这些对我来说“闻起来”有点难看。有没有更干净、更好的方法?变量递增。ifrender_quote?quote="NowthatthereistheTec-9,acrappyspraygunfromSouthMiami."quote+="ThisgunisadvertisedasthemostpopularguninAmericancrime.Doyoubelievethatshit?"quote+="Itactuallysaysthatinthelittlebookthatcomeswithit:themo
我正在尝试将一个简单的CSV文件读入HTML表格以在浏览器中显示,但我遇到了麻烦。这就是我正在尝试的:Controller:defshow@csv=CSV.open("file.csv",:headers=>true)end查看:输出:NameStartDateEndDateQuantityPostalCode基本上我只获取标题,而不会读取和呈现CSV正文。 最佳答案 这最终成为最终解决方案:Controller:defshow#OpenaCSVfile,andthenreaditintoaCSV::Tableobjectforda
我正在尝试在配备ARMv7处理器的SynologyDS215j上安装ruby2.2.4或2.3.0。我用了optware-ng安装gcc、make、openssl、openssl-dev和zlib。我根据README中的说明安装了rbenv(版本1.0.0-19-g29b4da7)和ruby-build插件。.这些是随optware-ng安装的软件包及其版本binutils-2.25.1-1gcc-5.3.0-6gconv-modules-2.21-3glibc-opt-2.21-4libc-dev-2.21-1libgmp-6.0.0a-1libmpc-1.0.2-1libm
我想用Nokogiri解析HTML页面。页面的一部分有一个表,它没有使用任何特定的ID。是否可以提取如下内容:Today,3,455,34Today,1,1300,3664Today,10,100000,3444,Yesterday,3454,5656,3Yesterday,3545,1000,10Yesterday,3411,36223,15来自这个HTML:TodayYesterdayQntySizeLengthLengthSizeQnty345534345456563113003664354510001010100000344434113622315
考虑一下:现在这些情况:#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2我需要用其他字符串输出URL。我如何保证&符号不会被转义?由于我无法控制的原因,我无法发送&。求助!把我的头发拉到这里:\编辑:为了澄清,我实际上有一个像这样的数组:@images=[{:id=>"fooid",:url=>"http://