亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wmutil.pas.svn-base

?? Asphyre的傳奇WIL,可以用Asphyre來寫傳奇了
?? SVN-BASE
字號:
unit wmutil;

interface

uses
  Windows, SysUtils, Classes, Graphics, Controls,
  DIB, AsphyreImages;

type
   TWMImageHeader = record
      Title: string[40];        //'WEMADE Entertainment inc.'
      ImageCount: integer;
      ColorCount: integer;
      PaletteSize: integer;
   end;
   PTWMImageHeader = ^TWMImageHeader;

   TWMImageHeaderEx = record
      Title: string[40];        //'WEMADE Entertainment inc.'
      ImageCount: integer;
      ColorCount: integer;
      PaletteSize: integer;
      VersionInfo: longword;    //貨肺 眠啊竊
   end;
   PTWMImageHeaderEx = ^TWMImageHeaderEx;

   TWMImageInfo = record
      Width: smallint;
      Height: smallint;
      px: smallint;
      py: smallint;
      bits: PByte;
   end;
   PTWMImageInfo = ^TWMImageInfo;

   TWMImageInfoEx = record
      Width: smallint;
      Height: smallint;
      px: smallint;
      py: smallint;
      ImageVersion: longword;
      bits: PByte;
   end;
   PTWMImageInfoEx = ^TWMImageInfoEx;

   TWMIndexHeader = record
      Title: string[40];        //'WEMADE Entertainment inc.'
      IndexCount: integer;
   end;
   PTWMIndexHeader = ^TWMIndexHeader;

   TWMIndexHeaderEx = record
      Title: string[40];        //'WEMADE Entertainment inc.'
      IndexCount: integer;
      VersionInfo: longword;
   end;
   PTWMIndexHeaderEx = ^TWMIndexHeaderEx;

   TWMIndexInfo = record
      Position: integer;
      Size: integer;
   end;
   PTWMIndexInfo = ^TWMIndexInfo;


   TDXImage = record
      px: smallint;
      py: smallint;
      surface: TAsphyreImage;
      LatestTime: integer;
   end;
   PTDxImage = ^TDXImage;


function WidthBytes(w: Integer): Integer;
function PaletteFromBmpInfo(BmpInfo: PBitmapInfo): HPalette;
function  MakeBmp (w, h: integer; bits: Pointer; pal: TRGBQuads): TBitmap;
procedure DrawBits(Canvas: TCanvas; XDest, YDest: integer; PSource: PByte; Width, Height: integer);

implementation


function WidthBytes(w: Integer): Integer;
begin
     Result := (((w * 8) + 31) div 32) * 4;
end;

function PaletteFromBmpInfo(BmpInfo: PBitmapInfo): HPalette;
var
   PalSize, n: Integer;
   Palette: PLogPalette;
begin
     //Allocate Memory for Palette
     PalSize := SizeOf(TLogPalette) + (256 * SizeOf(TPaletteEntry));
     Palette := AllocMem(PalSize);

     //Fill in structure
     with Palette^ do
     begin
          palVersion := $300;
          palNumEntries := 256;
          for n := 0 to 255 do
          begin
               palPalEntry[n].peRed := BmpInfo^.bmiColors[n].rgbRed;
               palPalEntry[n].peGreen := BmpInfo^.bmiColors[n].rgbGreen;
               palPalEntry[n].peBlue := BmpInfo^.bmiColors[n].rgbBlue;
               palPalEntry[n].peFlags := 0;
          end;
     end;
     Result := CreatePalette(Palette^);
     FreeMem(Palette, PalSize);
end;

procedure CreateDIB256(var Bmp: TBitmap; BmpInfo: PBitmapInfo; Bits: PByte);
var
   dc, MemDc: HDC;
   OldPal: HPalette;
begin
   //First Release Handle and Palette from BMP
   DeleteObject(Bmp.ReleaseHandle);
   DeleteObject(Bmp.ReleasePalette);

   try
      dc := GetDC(0);
      try
         MemDC := CreateCompatibleDC(DC);
         DeleteObject(SelectObject(MemDC, CreateCompatibleBitmap(dc, 1, 1)));

         OldPal := 0;
         Bmp.Palette := PaletteFromBmpInfo(BmpInfo);
         OldPal := SelectPalette(MemDc, Bmp.Palette, False);
         RealizePalette(MemDc);
         try
            Bmp.Handle := CreateDIBitmap(MemDc, BmpInfo^.bmiHeader, CBM_INIT,
                     Pointer(Bits), BmpInfo^, DIB_RGB_COLORS);
         finally
            if OldPal <> 0 then
               SelectPalette(MemDc, OldPal, True);
         end;
      finally
         if MemDC <> 0 then
            DeleteDC(MemDC);
      end;
   finally
      if dc <> 0 then
         ReleaseDC(0, DC);
   end;
   if Bmp.Handle = 0 then
      Exception.Create('CreateDIBitmap failed');
end;

function  MakeBmp (w, h: integer; bits: Pointer; pal: TRGBQuads): TBitmap;
var
   i, k: integer;
   BmpInfo: PBitmapInfo;
   HeaderSize: Integer;
   bmp: TBitmap;
begin
   HeaderSize := SizeOf(TBitmapInfo) + (256 * SizeOf(TRGBQuad));
   GetMem (BmpInfo, HeaderSize);
   for i:=0 to 255 do begin
      BmpInfo.bmiColors[i] := pal[i];
   end;
   with BmpInfo^.bmiHeader do begin
      biSize := SizeOf(TBitmapInfoHeader);
      biWidth := w;
      biHeight := h;
      biPlanes := 1;
      biBitCount := 8; //8bit
      biCompression := BI_RGB;
      biClrUsed := 0;
      biClrImportant := 0;
   end;
   Bmp := TBitmap.Create;
   CreateDIB256 (Bmp, BmpInfo, bits);
   FreeMem (BmpInfo);
   Result := Bmp;
end;

procedure DrawBits(Canvas: TCanvas; XDest, YDest: integer; PSource: PByte; Width, Height: integer);
var
  HeaderSize : integer;
  bmpInfo : PBitmapInfo;
begin
  if PSource = nil then exit;

  HeaderSize := Sizeof(TBitmapInfo) + (256 * Sizeof(TRGBQuad));
  BmpInfo := AllocMem(HeaderSize);
  if BmpInfo = nil then raise Exception.Create('TNoryImg: Failed to allocate a DIB');
  with BmpInfo^.bmiHeader do begin
    biSize        := SizeOf(TBitmapInfoHeader);
    biWidth       := Width;
    biHeight      := -Height;
    biPlanes      := 1;
    biBitCount    := 8;
    biCompression := BI_RGB;
    biClrUsed     := 0;
    biClrImportant:= 0;
  end;
  SetDIBitsToDevice(Canvas.Handle, XDest, YDest, Width, Height, 0, 0, 0, Height,
                    PSource, BmpInfo^, DIB_RGB_COLORS);
  FreeMem(BmpInfo, HeaderSize);
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区四区五区入口| 亚洲免费观看高清完整版在线观看熊 | 国产在线视视频有精品| 制服丝袜中文字幕亚洲| 亚洲自拍偷拍麻豆| 欧美三级一区二区| 麻豆精品视频在线观看免费 | 久久精品国产一区二区三区免费看| 欧美日韩精品欧美日韩精品一| 亚洲成人手机在线| 5858s免费视频成人| 精品一区二区综合| 国产欧美一区二区精品性色 | 免费xxxx性欧美18vr| 欧美刺激脚交jootjob| 久88久久88久久久| 中日韩av电影| 欧美日韩在线免费视频| 美国欧美日韩国产在线播放| 国产精品午夜久久| 欧美色中文字幕| 国产精品一区不卡| 亚洲综合一区二区| 精品精品国产高清一毛片一天堂| 国产一区二区三区香蕉 | 久久人人爽人人爽| 色综合天天综合| 日韩高清不卡在线| 欧美国产亚洲另类动漫| 欧美亚洲高清一区二区三区不卡| 麻豆免费看一区二区三区| 欧美国产日韩精品免费观看| 欧美午夜理伦三级在线观看| 精品在线免费观看| 亚洲欧美日韩国产一区二区三区| 日韩三级精品电影久久久| 成人av电影免费在线播放| 日韩精品久久久久久| 日本一区二区三区在线不卡| 欧美日韩大陆一区二区| 成人午夜激情影院| 奇米精品一区二区三区在线观看一| 日本一区二区电影| 欧美大尺度电影在线| 在线观看日韩av先锋影音电影院| 国产一区二区三区黄视频 | 风间由美中文字幕在线看视频国产欧美| 亚洲精品成a人| 久久九九久精品国产免费直播| 欧美在线免费视屏| 顶级嫩模精品视频在线看| 天天影视网天天综合色在线播放| 亚洲欧洲精品一区二区精品久久久 | 午夜精品免费在线| 国产精品久线观看视频| 在线综合视频播放| 色综合欧美在线| 国产.欧美.日韩| 久久精品国产一区二区| 亚洲一区二区在线免费看| 国产精品女主播av| 久久综合九色综合97婷婷女人| 欧美日韩亚洲高清一区二区| 色综合久久中文字幕综合网| 国产成人在线视频网站| 九九久久精品视频| 免费在线观看日韩欧美| 午夜精品久久久久久| 一区二区三区四区av| 国产精品久久久久国产精品日日| 精品成人私密视频| 欧美tickle裸体挠脚心vk| 日韩欧美一区在线观看| 777色狠狠一区二区三区| 欧美午夜在线观看| 欧美亚洲一区三区| 色丁香久综合在线久综合在线观看| 成人午夜伦理影院| av在线一区二区三区| 成人的网站免费观看| 成人黄页在线观看| heyzo一本久久综合| 成人一二三区视频| caoporn国产精品| 91网站在线观看视频| 91在线小视频| 91福利在线观看| 欧美视频一二三区| 欧美精品乱人伦久久久久久| 日韩欧美在线不卡| 久久网站热最新地址| 国产偷v国产偷v亚洲高清| 国产精品网站在线播放| 国产精品污污网站在线观看| 国产精品高潮呻吟| 一区二区三区中文免费| 午夜伦理一区二区| 国内精品嫩模私拍在线| 国产69精品一区二区亚洲孕妇| 不卡av免费在线观看| 91在线porny国产在线看| 色域天天综合网| 欧美精品日韩一本| 国产亚洲精品超碰| 亚洲男同性视频| 日本午夜精品一区二区三区电影| 精品一区二区三区视频 | 美女视频一区二区| 国产精品正在播放| 色网综合在线观看| 日韩一区二区电影| 欧美激情一区二区三区四区| 亚洲一区中文日韩| 免费观看日韩av| 成人高清视频免费观看| 欧美性xxxxxx少妇| 久久精品视频网| 一区二区三区四区不卡在线| 捆绑紧缚一区二区三区视频| av在线综合网| 欧美一区二区三区喷汁尤物| 国产精品午夜电影| 日本伊人色综合网| 成人精品免费网站| 欧美一区二区高清| 亚洲男同性视频| 国产乱理伦片在线观看夜一区| 色av一区二区| 国产亚洲精品福利| 亚洲v中文字幕| 成人精品视频一区| 日韩区在线观看| 亚洲一区二区三区小说| 国产高清不卡一区二区| 在线观看中文字幕不卡| 久久午夜羞羞影院免费观看| 亚洲无线码一区二区三区| 国产精品伊人色| 欧美美女bb生活片| 亚洲欧洲日产国码二区| 国产乱码字幕精品高清av| 欧美伦理影视网| 《视频一区视频二区| 韩国女主播一区| 制服丝袜激情欧洲亚洲| 亚洲欧洲日本在线| 风间由美性色一区二区三区| 日韩免费在线观看| 午夜精品久久久久久久久久 | 99亚偷拍自图区亚洲| 精品第一国产综合精品aⅴ| 丝袜国产日韩另类美女| 一本一道久久a久久精品| 亚洲国产精华液网站w | 亚洲国产欧美在线| 国v精品久久久网| 久久综合999| 蜜桃av一区二区在线观看 | 欧美三级三级三级| 亚洲精品少妇30p| 一本一道久久a久久精品综合蜜臀| 国产欧美日韩视频一区二区| 韩国成人精品a∨在线观看| 日韩一区二区中文字幕| 日韩精品亚洲专区| 91精品国产品国语在线不卡| 天天色天天爱天天射综合| 在线日韩国产精品| 亚洲激情在线激情| 91丨九色丨黑人外教| 最新久久zyz资源站| 99re66热这里只有精品3直播 | 成人一道本在线| 国产精品免费av| 99久久综合精品| 亚洲欧美一区二区三区孕妇| 91麻豆成人久久精品二区三区| 自拍偷自拍亚洲精品播放| 成+人+亚洲+综合天堂| 国产精品久久久久久久久快鸭| 97久久久精品综合88久久| 国产精品二三区| 色婷婷久久久久swag精品| 亚洲国产乱码最新视频 | 亚洲人被黑人高潮完整版| 一本一道久久a久久精品综合蜜臀| 亚洲精品美腿丝袜| 欧洲av一区二区嗯嗯嗯啊| 亚洲成人一区二区| 日韩精品一区二区三区蜜臀| 国产精品1024| 亚洲日本乱码在线观看| 欧美日韩激情一区| 理论电影国产精品| 国产精品视频第一区| 色老汉一区二区三区| 秋霞午夜av一区二区三区| 久久一区二区三区国产精品| www.综合网.com| 日韩国产高清影视|