我们正在使用 facebook graph API http://developers.facebook.com/docs/reference/api/post/并添加picture
参数。我们的图片是一个 30x30 像素的图像,这正是我们想要的 facebook 网络版本的大小。但是,在 iPhone4(视网膜显示屏)上使用 FB 移动应用程序时,图像会像素化。
有什么方法可以提供 60x60 的高分辨率图像,但始终以 30x30 的分辨率呈现 facebook 墙贴?
我们正在使用 facebook graph API http://developers.facebook.com/docs/reference/api/post/并添加picture
参数。我们的图片是一个 30x30 像素的图像,这正是我们想要的 facebook 网络版本的大小。但是,在 iPhone4(视网膜显示屏)上使用 FB 移动应用程序时,图像会像素化。
有什么方法可以提供 60x60 的高分辨率图像,但始终以 30x30 的分辨率呈现 facebook 墙贴?
好吧..截至目前,这就是我所发现的,并根据我必须测试和使用这个概念的时间提供一个对我有用的“解决方案”。对于所有需要快速回答问题的读者,我没有问题的确切解决方案,但是……。本质上,您的 30x30 图像被缩放到 90x90。60x60 的图像被缩放为 90x90。我找不到解决这个问题的方法。
以下是我尝试过的。随意添加输入。
获取您的提要图像,并在图像框架周围划一条 2-5 像素的黑线。
加载您的应用程序,在设备上启动墙源。在图像存在的情况下,截取屏幕截图。将图像邮寄给自己。在 Photoshop(或照片编辑程序)中打开它。使用选框工具勾勒图像的轮廓。将其从屏幕截图中剪切出来并粘贴为新图像。它的尺寸是多少?90x90,对吧?(如果图像是视网膜,显然是 180x180)
创建一个 90x 90 的图像。复制您的原始 30x30 图像并将其粘贴到新的 90x90 图像框架内您想要的任何位置。将其上传到 URL 参数的位置。重新运行您的应用程序。通过重新运行它,我的意思是您必须完全关闭它,看起来 SDK 在首次启动提要时正在缓存图像,您可以通过完全关闭应用程序并重新运行它来清除该缓存。当您这样做时,您将看到图像外观的显着改进。它可能不是视网膜图像,但至少不会“模糊难看”。在这一点上,它归结为在设计过程中所做的说明性线条有多好,以消除从转换为光栅图形产生的锯齿效果。同样,我不确定重采样方法的变化是否会产生更好的结果。
我尝试过的一些事情:我还将它保存为不透明的 png 文件:144ppi,90 x 90 大小。换句话说,以更高分辨率(每英寸像素数)保存 90x90 图像。请记住在调整图像大小时不要限制比例。请注意,如果您使用的是 adobe 产品,即 photoshop ) - 不要保存为网络,只需使用“另存为...”,因为这将保留您指定的 ppi。虽然,我不相信我看到这条路线显示的质量有很大差异,最好尽量保持文件大小,因为这会使整体图像大小增加约 500% 或更多。
我尝试过在同一个托管文件夹中托管两倍大小(180x180)的图像并将其命名为 image@2x.png & image-large.png <--(只是为了它)的变体。这也不是真正解决问题。
我还没有尝试过的其他一些事情:
监控您的网络服务器流量,以及资源的任何“未找到”错误,以查看 FB 在抓取您的图像进行显示时是否试图访问潜在的替代资源,出现的墙上提要框是一个网络视图。意思是网络图形。(这是 FB 的网页……意思是他们的规则,我怀疑这些页面的源代码是否可以在 SDK 中涉足……所以!……
使用 safari 浏览器查看提要本身的 HTML:检查发布在我的 FB 墙上的最终结果图像中的 HTML 我可以看到这个……。
<img class="img" src="http://platform.ak.fbcdn.net/www/app_full_proxy.php?app=153675474666495&v=1&size=z&cksum=773bba91f6146b2463eed0a0bb77dc42&src=http%3A%2F%2Fwww.thumbwizards.com%2Fspeakinapps%2Fgraphics%2Fboxed%2Faussie.png" alt="">
我想知道:
在 HTML5 中是否有一种机制可以提供一种工具包类型的 javascript 来显示网页中的视网膜图形?
在获取图像的 url 时是否可以运行该代码(意思是,图像的 url 将充当指向代码的指针。?我没有尝试过玩这个,因为我的逻辑告诉我根据上面的 url,FB 在这一点上基本上控制了图像。我注意到(并且没有等待足够长的时间才能看到)图像显然被缓存并用新图像发布到墙上,有时会导致旧图像仍在使用。(是的,我已经清除了我的浏览器缓存)......也许只是缓存在另一个位置......
如果图像类型还有另一个参数未发布,我还没有偶然发现。
任何人都可以通过以下来源弄清楚:[http://platform.ak.fbcdn.net/www/app_full_proxy.php] 如果这个 php 文件是可用图像处理器的一部分,我们可以访问以查看可以做什么?
任何人都可以在他们的提要帖子中提及使用视网膜图形的应用程序吗?
真的只是想,我决定不给作物,如果你已经做到了这一步。感谢您收看。..所以,Sulf,您的 30x30 正在缩放到 90x90。让它丑陋!
祝你好运..如果你想出别的办法,请告诉我!
标记
苹果指定,如果你想为你的 ios 应用程序添加视网膜效果,那么你正在使用这种格式的图像 - 即
sampleImag.png- 57*57(size) , 163 (DPI) sampleImag@2x.png - 114*114(size),326 (DPI) 当你使用这些特定的图形图像时,你会得到你的应用在 iphone 中显示视网膜效果4代及以上。
只需将您的代码指向更大比例的图像,Facebook 会处理其余的事情。