2015-06-14 65 views
2

我刚刚构建了一个应用程序,该应用程序使用Java读取图像的所有像素,然后创建一个CSS文件以在浏览器上绘制该图像。使用CSS和图像自己绘制图像

事实上,CSS文件比图像大得多。假设图像占用37KB,CSS占用7MB。这是不可接受的大。

但我听说浏览器在从服务器请求图像比CSS慢,也发现CSS容易解析。

这款应用还有什么优势吗?或者这只是浪费时间?

请指教我。

我的应用程序的工作原理只是这个网站作品的方式,并产生相同的还挺CSS:

http://image2css.alexdoesit.com/ 
+0

浪费时间... –

+0

天哪!赚钱吧!只是这个网站的工作方式。 http://image2css.alexdoesit.com/ –

+0

你应该在CSS中做base64的唯一的东西是图标,你只是浪费了你的时间。 –

回答

3

但我听说的地方,浏览器是从服务器比CSS请求图片速度更慢,也找到了CSS容易解析。

CSS最好在像圆角,阴影,渐变等

但是,如果你打算效仿使用CSS的“真实”的照片(如照片),这是一个绝对坏的某些视觉效果的图像理念。为什么?

  • 空间:考虑甚至像未压缩的8位RGB位图最简单的图像格式。它需要每个像素3个字节(加上整个文件的固定数量的字节)。对于每个像素,CSS可能需要更多的字节。

  • 时间:这是较简单的(从计算的角度)来分析和比显示像素的数据来构建与风格的伪元素一个巨大 HTML DOM。

  • 特点:真实图像可以被另外处理的/改变/通过CSS增强,如将图像转换为灰度图像,模糊等 - 见filters


不过,你已经完成了很好的编程练习:

我刚刚建立了一个读取使用Java图像的所有像素,然后绘制创建一个CSS文件的应用程序浏览器上的图像。

+0

谢谢。但是如果我创建一个小的JavaScript循环来创建客户端的整个css而不是直接创建一个大的css文件呢?我的意思是,如果这是通过javascript完成的,浏览器不必向服务器请求所有图像。 –

+0

而不是转换为CSS你应该转换为SVG。那么你可能有一个有用的算法。 Jpg压缩旨在进行优化,除非使用针对图像进行了优化的格式(本例中为矢量),否则不会击败它。 – FEA5T

+0

@Aditya,你可以附上你想要表现为CSS的图像吗? –