如何把jpg格式图片转换成html代码 用打开html文件形式打开

路口xia车 2012-09-09 12:45:24
如何把jpg格式图片转换成html代码 用打开html文件形式打开,能正常显示。
有大哥大姐做过吗?
能给小弟提供点帮助吗
...全文
30453 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
风吹不到笑容 2013-12-06
  • 打赏
  • 举报
回复
实在不懂这个代码问题,但是非专业方面的人实在不会,先有JPG图片需要转成HTML格式,希望有高手能出手相救,感激不尽,如方便帮忙的话,请联系我QQ:2355880395
路口xia车 2012-09-11
  • 打赏
  • 举报
回复
新的一天。顶上去吧
pathletboy 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

引用 12 楼 的回复:
修订下,delphi的ColorToRGB反的,重新改了下,颜色对了。

Delphi(Pascal) code

{
jpg文件转html字符画
需要uses jpeg
MakeHtml('test.jpg', 'test.html');
@param imagefile jpg文件
@param htmlfile 输出的html文件
@ret……
[/Quote]
这个其实不叫画,这个就是1像素的字符拼出来的,字符间总有间隔。你给的那个例子最终也是这个效果。
路口xia车 2012-09-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
修订下,delphi的ColorToRGB反的,重新改了下,颜色对了。

Delphi(Pascal) code

{
jpg文件转html字符画
需要uses jpeg
MakeHtml('test.jpg', 'test.html');
@param imagefile jpg文件
@param htmlfile 输出的html文件
@return 处理成功返回true
……
[/Quote]


其实这个还是存在一个问题。就是颜色什么的 太淡了。。
在html里面画出来 有点大。。
后面我继续研究下。如果大哥有什么好的方法能解决 就告诉我一下。让我少走点弯路。
路口xia车 2012-09-09
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
修订下,delphi的ColorToRGB反的,重新改了下,颜色对了。

Delphi(Pascal) code

{
jpg文件转html字符画
需要uses jpeg
MakeHtml('test.jpg', 'test.html');
@param imagefile jpg文件
@param htmlfile 输出的html文件
@return 处理成功返回true
……
[/Quote]
感谢。我该早点来看你的回复。。
写了一下午 结果和你给的答案差不多。。
谢谢了
pathletboy 2012-09-09
  • 打赏
  • 举报
回复
修订下,delphi的ColorToRGB反的,重新改了下,颜色对了。
{
jpg文件转html字符画
需要uses jpeg
MakeHtml('test.jpg', 'test.html');
@param imagefile jpg文件
@param htmlfile 输出的html文件
@return 处理成功返回true
}

function MakeHtml(const imagefile, htmlfile: string): Boolean;
var
jpg: TJPEGImage;
bmp: TBitmap;
o: TStringList;
x, y: Integer;
scolor: string;
s: string;
color: TColor;
lastcolor: TColor;
begin
Result := False;
jpg := TJPEGImage.Create;
bmp := TBitmap.Create;
o := TStringList.Create;
try
try
jpg.LoadFromFile(imagefile);
bmp.Assign(jpg);
o.Add('<HTML>');
o.Add('<BODY>');
o.Add('<STYLE>');
o.Add('.Font{font-family: Arial; font-size: 1px}');
o.Add('</STYLE>');
o.Add('<FONT CLASS="Font">');
s := '<FONT COLOR="#FFFFFF">';
lastcolor := $FFFFFF;
for y := 0 to bmp.Height - 1 do
begin
for x := 0 to bmp.Width - 1 do
begin
color := bmp.Canvas.Pixels[x, y];
if lastcolor <> color then
begin
scolor := '#' + IntToHex(GetRValue(color), 2) + IntToHex(GetGValue(color), 2) + IntToHex(GetBValue(color), 2);
s := s + '</FONT><FONT COLOR="' + scolor + '">';
lastcolor := color;
end;
s := s + 'x';
end;
o.Add(s + '<BR/>');
s := '';
end;
o.Add('</FONT></FONT>');
o.Add('</BODY>');
o.Add('</HTML>');
o.SaveToFile(htmlfile);
except
Result := False;
end;
finally
bmp.FreeImage;
bmp.Free;
jpg.Free;
o.Free;
end;
end;
pathletboy 2012-09-09
  • 打赏
  • 举报
回复
{
jpg文件转html字符画
需要uses jpeg
MakeHtml('test.jpg', 'test.html');
@param imagefile jpg文件
@param htmlfile 输出的html文件
@return 处理成功返回true
}

function MakeHtml(const imagefile, htmlfile: string): Boolean;
var
jpg: TJPEGImage;
bmp: TBitmap;
o: TStringList;
x, y: Integer;
scolor: string;
s: string;
color: Integer;
lastcolor: Integer;
begin
Result := False;
jpg := TJPEGImage.Create;
bmp := TBitmap.Create;
o := TStringList.Create;
try
try
jpg.LoadFromFile(imagefile);
bmp.Assign(jpg);
o.Add('<HTML>');
o.Add('<BODY>');
o.Add('<STYLE>');
o.Add('.Font{font-family: Arial; font-size: 1px}');
o.Add('</STYLE>');
o.Add('<FONT CLASS="Font">');
s := '<FONT COLOR="#FFFFFF">';
lastcolor := $FFFFFF;
for y := 0 to bmp.Height - 1 do
begin
for x := 0 to bmp.Width - 1 do
begin
color := ColorToRGB(bmp.Canvas.Pixels[x, y]);
if lastcolor <> color then
begin
scolor := '#' + IntToHex(color, 6);
s := s + '</FONT><FONT COLOR="' + scolor + '">';
lastcolor := color;
end;
s := s + 'x';
end;
o.Add(s + '<BR/>');
s := '';
end;
o.Add('</FONT></FONT>');
o.Add('</BODY>');
o.Add('</HTML>');
o.SaveToFile(htmlfile);
except
Result := False;
end;
finally
bmp.FreeImage;
bmp.Free;
jpg.Free;
o.Free;
end;
end;
山东蓝鸟贵薪 2012-09-09
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
看了下,似乎是图形转字符画。
[/Quote]

不能将 "html转换成jpg"的转换过来吗?????
pathletboy 2012-09-09
  • 打赏
  • 举报
回复
看了下,似乎是图形转字符画。
路口xia车 2012-09-09
  • 打赏
  • 举报
回复
重新阐述下 把。。
前面那个可能没讲清楚意思

功能:把图片 在在html重新画一遍。
现在我的思路是:把通过循环把图片的颜色读取出来,然后把每次循环得到的颜色都画到html里面去

参考代码 http://wenku.baidu.com/view/b1d22286bceb19e8b8f6ba01.html
lt727651340 2012-09-09
  • 打赏
  • 举报
回复
直接插入图片到html中就可以正常显示了
Forever_Young 2012-09-09
  • 打赏
  • 举报
回复
可以把jpg图片转成base64字串,比如像下面


<html>
<body>
<img src="data:image/png;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAwADADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwGON5ZFRFLOxwABkk12Np4V0/SbRL3xHc+XuGVtkPzH64/p+dL4XtbfR9Hn8SXqByuUtkPdumfz4/A1zl1fT6tqQutQkcxu4DMBwq56D6V1RjGnFSkrt7I8+c515uEHaK3a3b7I6NvF2jWX7vT9AhKDo8uMn9Cf1oXxfo15+71DQIQh6vFjI/QH9aqaz4aso9HGq6NdvdWqttk3DlffoP5dxXLU51qsHZ2+5WJo4XDVY80b39Xf8AM7S68K6fq9o954cufMKjL2rn5h9M/wBfzrjZI3ikaORSrqcFSMEGrOnajc6XeJdWshSRD+BHofUV1Xie1t9Z0aDxHZoEY4S5Qdj0z+fH4ipcY1YuUVZrdFxlUw9RQqO8Xs+qfZ/5h4zb7Homi6dHwgi8xgO5wOf1b86h0PUtLvfD7aDqcr2+ZN8c/wDCD7+nf/61TeMl+2aHoupR8oYvLcjscDj9G/KuKq61Rwqtra34WM8LRVXDJN2abfzuz1HTtJ0y68M3uk6RqIkkY/vJcdTx2/u8Y49683v7C4027ktrqMxyocEH+Y9qfpupXWlXqXVrIUkX8mHofUV6JqupaPd6BY6vq2nF3k4jjBwc855z93jP4ir9zEQ/lcfusZL2uCq9Zxm/nc8vrtfBbfa9I1nTZOUaHeoPY4Iz/L8qr69pOlzaHHrulB4Y3k2PA3RTz09On61Y8Fr9j0fWdSk4RYdin1OCcf8AoP51FGm4Vkntb8LGuKrRq4Vyjo7pfO6E8LXdvq+kT+HL1whfLWzns3XH58/ia5fUtMudKvXtbqMo6ng9mHqPaqqO0bq6MVZTkEHBBrsbTxXY6paLZeI7bzQowtyg+YfX/wCt+VQpRqxUZOzWzNJQqYeo6lNXi911T7r/ACOMrrNJ8R6c+ijStdtpbiGNswsnVR6dR/k1Ybwnod7mTT/EESoeiS4yP1B/ShfCeh2X7zUPEETIOqRYyf1J/SqhRqwd1a3qrEVsThqsVGV7ryd/yOcs7O61W9+w2IkaN3JVSThRnqa6PxRdW+j6PB4csnDsuHuXHduuPz5/AUl34qsNKtHsvDlt5W4Ya5cfMfpn+v5VxzyPLIzuxZ2OSSckmlKUacXGLu31/wAioU515qc1aK1S6t92f//Z">
</body>
</html>
山东蓝鸟贵薪 2012-09-09
  • 打赏
  • 举报
回复
pathletboy
(抓住BUG瞬间)
这个朋友可否,也将那个"html转换成jpg"的转换"函数"也写出来呀


wpycs 2012-09-09
  • 打赏
  • 举报
回复
使用数据流的形式输出图片

http://book.51cto.com/art/201010/231323.htm
山东蓝鸟贵薪 2012-09-09
  • 打赏
  • 举报
回复
方法有两种
1)在网页加载这个图片呀
2)保存到数据库中呀,就是二进制数


pathletboy 2012-09-09
  • 打赏
  • 举报
回复
{*
MakeHtml('test.jpg', 'test.html');
@param imgsrc 图片路径
@param savefile 生成的html文件名
@return 保存成功返回true
}
function MakeHtml(const imgsrc,savefile: string): Boolean;
var
f: TStringList;
begin
Result := True;
f := TStringList.Create;
try
f.Add('<IMG SRC="' + imgsrc + '" />');
try
f.SaveToFile(savefile);
except
Result := False;
end;
finally
f.Free;
end;
end;
山东蓝鸟贵薪 2012-09-09
  • 打赏
  • 举报
回复
分呀,我喜欢

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧