日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tencent QQ皮肤图像文件格式Gft转png或bmp源代码

發布時間:2024/1/1 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tencent QQ皮肤图像文件格式Gft转png或bmp源代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Tencent QQ皮膚圖像文件格式Gft轉png或bmp源代碼?

轉載自CSDN,另附Delphi版代碼:

http://topic.csdn.net/u/20111121/14/E545FC21-41CF-4341-BCA6-770AE91F9211.html

工具是為制作QQ皮膚的人準備的,源代碼是為vc程序員準備的。本壓縮包即提供編譯好的可執行程序,又提供了程序的源代碼。

工具的作用是把Tencent公司QQ皮膚使用的Gft圖像格式,轉成Png或Bmp格式,當選擇包含Gft文件的文件夾時,支持批量轉換文件夾下及子文件夾下所有Gft文件。

此工具是喜歡制作QQ皮膚的美工朋友或喜歡仿QQ界面的開發人員必備工具。

此工具界面圖片,除Logo外,也都是直接使用的QQ皮膚中的圖片,版權歸騰訊公司所有。

程序截圖:?

?

?

下載地址: http://download.csdn.net/detail/psbeond/3821134

?

========================================================================

以下為Delphi代碼:

?

? 1?{*******************************************************************************
??2?
??3???Tencent?QQ??gft圖像格式轉換單元?轉換為BMP或PNG
??4?
??5???原作者?:??psbeond
??6???網??址?:??http://topic.csdn.net/u/20111121/14/E545FC21-41CF-4341-BCA6-770AE91F9211.html
??7??原始代碼:http://download.csdn.net/download/psbeond/3821134
??8?
??9???本人只是對C++代碼翻譯翻譯為Delphi代碼?不做其他處理
?10???如需解包RDB文件,請自行百度?“RDB打包解包工具”
?11?
?12?*******************************************************************************}
?13?
?14?unit?uGFT2Image;
?15?
?16?interface
?17?
?18?uses
?19???SysUtils,?Classes;
?20?
?21?const
?22???E_GFT_FILE_OPEN???????????=?-1;
?23???E_NOT_GFT_FILE???????????=?-2;
?24???E_NO_IMAGE_DATA???????????=?-3;
?25???E_NOT_SUPPORT_IMAGE?????=?-4;
?26?
?27?type
?28???TImageType?=?(IT_UNKNOWN,IT_BITMAP,IT_PNG);
?29?
?30?function?ConvertGft2Image(strGftFile:string;Image:TStream;var?ImageType:TImageType):Integer;
?31?
?32?implementation
?33?
?34?
?35?function?ConvertGft2Image(strGftFile:?string;
?36?Image:TStream;var?ImageType:TImageType):Integer;
?37?const
?38???//?Png?and?bmp?file?header
?39???btPngHeader?:?array?[0..7]?of?Byte?=?($89,?$50,?$4E,?$47,?$0D,?$0A,?$1A,?$0A);
?40???wBmpHeader??=?$4D42;
?41?var
?42???fpGft?:?TFileStream;
?43???nGftFileLength?:?Int64;
?44???btImageOffset??:?Byte;
?45???wHeader????????:?WORD;
?46???btHeader???????:?array?[0..7]?of?Byte;
?47???nImageLength???:?Integer;
?48?begin
?49???//?Open?gft?file
?50???if?not?FileExists(strGftFile)?then
?51?????begin
?52???????Result?:=?E_GFT_FILE_OPEN;
?53???????Exit;
?54?????end;??
?55???fpGft?:=?TFileStream.Create(strGftFile,fmOpenRead);
?56?
?57???//?Get?Gft?file?length.
?58???nGftFileLength?:=?fpGft.Size;
?59?
?60???//?The?byte?of?address?0x00000010?of?gft?file?is?specify?the?offset?of?image.
?61???if?nGftFileLength?<?17?then
?62?????begin
?63???????Result?:=?E_NOT_GFT_FILE;
?64???????Exit;
?65?????end;
?66?
?67???//?Get?image?offset
?68???//?Seek?to?byte?that?specify?the?offset?of?image.
?69???fpGft.Seek($00000010,soFromBeginning);
?70???fpGft.Read(btImageOffset,SizeOf(Byte));
?71???if?btImageOffset?+?2?>=?nGftFileLength?then
?72?????begin
?73???????Result?:=?E_NO_IMAGE_DATA;
?74???????Exit;
?75?????end;??
?76?
?77???//?Check?the?image?type.
?78???ImageType?:=?IT_UNKNOWN;
?79???fpGft.Seek(btImageOffset,soFromBeginning);
?80???fpGft.Read(wHeader,SizeOf(WORD));
?81???if?wHeader?=?wBmpHeader?then
?82?????ImageType?:=?IT_BITMAP
?83???else
?84?????begin
?85???????if?btImageOffset?+?8?>=?nGftFileLength?then
?86?????????begin
?87???????????Result?:=?E_NO_IMAGE_DATA;
?88???????????Exit;
?89?????????end;
?90?
?91???????fpGft.Seek(btImageOffset,soFromBeginning);
?92???????fpGft.Read(btHeader,SizeOf(Byte)*8);
?93???????
?94???????if?CompareMem(@btHeader,@btPngHeader,8)?then
?95?????????begin
?96???????????ImageType?:=?IT_PNG;
?97?????????end;
?98?????end;
?99?
100???if?ImageType?=?IT_UNKNOWN?then
101?????begin
102???????Result?:=?E_NOT_SUPPORT_IMAGE;
103???????Exit;
104?????end;
105?
106???//?Convert?gft?to?image
107???nImageLength?:=?nGftFileLength?-?btImageOffset;
108???if?nImageLength?<=?0?then
109?????begin
110???????Result?:=?E_NO_IMAGE_DATA;
111???????Exit;
112?????end;
113???fpGft.Seek(btImageOffset,soFromBeginning);
114???Image.Position?:=?0;
115???Image.CopyFrom(fpGft,nImageLength);
116???Image.Position?:=?0;
117???fpGft.Destroy;
118???Result?:=?0;
119?end;
120?end.?

另附Demo:

Gft2Image_Demo.rar?

轉載于:https://www.cnblogs.com/lahcs/archive/2011/11/24/2261718.html

總結

以上是生活随笔為你收集整理的Tencent QQ皮肤图像文件格式Gft转png或bmp源代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产黄色精品网站 | 久久人妻少妇嫩草av无码专区 | 亚洲国产精品区 | 91抖音在线观看 | 黄色片视频网站 | 欧美成人精品一区二区男人小说 | 色婷婷导航 | 欧美bbbbb | 亚洲欧美国产日韩精品 | 手机看片国产1024 | 午夜在线免费观看视频 | 男女午夜爽爽爽 | 调教91 | 五月婷婷激情 | 中国一级特黄毛片大片 | 欧美一区二区最爽乱淫视频免费看 | 秋霞一级视频 | 一区av在线| 少妇高潮一区二区三区99刮毛 | 国内自拍小视频 | 蜜臀999| 深夜视频一区二区 | 色噜噜狠狠一区二区 | 深夜免费在线视频 | 欧美日韩加勒比 | 欧美一区二区黄色 | 日韩欧美在线中文字幕 | 色欲av永久无码精品无码蜜桃 | 一女被多男玩喷潮视频 | 欧美在线激情视频 | 欧美啪啪一区二区 | 在线高清观看免费观看 | 亚洲一级二级片 | 中文字幕乱轮 | 日本中文字幕观看 | 黄金网站在线观看 | 日韩精品久久久久 | 呦呦视频在线观看 | 放几个免费的毛片出来看 | 黄色片免费视频 | 娇妻被肉到高潮流白浆 | 精品欧美一区二区精品少妇 | 欧美a在线| jizzz18| 华人永久免费 | 美女黄色免费网站 | 国产资源在线视频 | 99re免费视频精品全部 | 久久夜夜操妹子 | 男人天堂a在线 | 污视频在线免费 | 国产真实生活伦对白 | 农村村妇真实偷人视频 | 我们俩电影网mp4动漫官网 | 日爽夜爽| 91麻豆映画传媒 | 激情五月在线 | 国产一区二区三区视频网站 | 天堂av手机版 | 六月丁香啪啪 | 日本www在线 | 欧美搞逼视频 | 国产精品久久久久久久久久东京 | 一区二区精品免费 | 红桃成人网 | 国内精品在线观看视频 | 亚洲欧美另类自拍 | 久久精品国产99国产 | 欧美国产日韩一区二区 | 国产精彩视频一区 | 亚洲国产精品成人综合在线 | 美女18网站 | 欧美成人乱码一区二区三区 | 欧美日韩成人 | 中文字幕免费观看 | 日韩成人在线看 | 性――交――性――乱睡觉 | 欧美精品入口蜜桃 | 五月激情av | 欧美日韩中 | 久久久久无码国产精品一区李宗瑞 | 秋霞欧美视频 | 波多野结衣久久精品 | 黄色免费在线观看网站 | 91精品欧美| 在线观看高清视频 | 日韩视频在线视频 | 亚洲国产剧情 | 国产又粗又猛又黄又爽 | 麻豆精品| 国产综合区 | 在线观看免费黄视频 | 欧美性受xxx | av在线电影网 | 久久久国产成人 | 91成人免费 | 亚洲一级大片 | 自拍偷拍色 | 亚洲欧美另类综合 |