传奇2真彩客户端源码
一个高手把传奇2客户端改成真彩了,,这个不是那里都能下得到的哦。 有兴趣的自己看看,虽然不是太完美,但也算是一种真彩思路了。 部分代码 procedure DrawEffect(x, y, width, height: integer; ssuf: TDirectDrawSurface; eff: TColorEffect); var r, g, b, x2, y2: Integer; DIB:TDIB; p0: PByteArray; begin if width > SCREENWIDTH then Exit; if eff = ceNone then Exit; case eff of ceGrayScale: begin r:=0; g:=0; b:=167; end; ceBright: begin r:=200;g:=200;b:=200; end; ceBlack: begin r:=235;g:=255;b:=255; end; ceWhite: begin r:=25; g:=25; b:=2 5; end; ceRed: begin r:=255;g:=255;b:=0; end; ceGreen: begin r:=255;g:=1; b:=255; end; ceBlue: begin r:=0; g:=255;b:=255; end; ceYellow: begin r:=200;g:=200;b:=200; end; ceFuchsia: begin r:=0; g:=255; b:=0; end; end; DIB:=TDIB.Create; DIB.Height:=Height; DIB.Width:=Width; Dib.BitCount:=24; DIB.Canvas.CopyRect(ssuf.Canvas.ClipRect,ssuf.Canvas,ssuf.Canvas.ClipRect); for y2 := 0 to Dib.Height - 1 do begin p0 := DIB.ScanLine[y2]; for x2 := 0 to DIB.Width - 1 do begin p0[x2 * 3] :=p0[x2 * 3] - (p0[x2 * 3] * r) div 255; p0[x2 * 3 + 1]:=p0[x2 * 3+ 1] - (p0[x2 * 3+ 1] * g) div 255; p0[x2 * 3 + 2]:=p0[x2 * 3+ 2] - (p0[x2 * 3+ 2] * b) div 255; end; end; ssuf.Canvas.Draw(0,0,DIB); ssuf.Canvas.Release; DIB.Clear; DIB.Free; DIB:=nil; end; 5; end; ceRed: begin r:=255;g:=255;b:=0; end; ceGreen: begin r:=255;g:=1; b:=255; end; ceBlue: begin r:=0; g:=255;b:=255; end; ceYellow: begin r:=200;g:=200;b:=200; end; ceFuchsia: begin r:=0; g:=255; b:=0; end; end; DIB:=TDIB.Create; DIB.Height:=Height; DIB.Width:=Width; Dib.BitCount:=24; DIB.Canvas.CopyRect(ssuf.Canvas.ClipRect,ssuf.Canvas,ssuf.Canvas.ClipRect); for y2 := 0 to Dib.Height - 1 do begin p0 := DIB.ScanLine[y2]; for x2 := 0 to DIB.Width - 1 do begin p0[x2 * 3] :=p0[x2 * 3] - (p0[x2 * 3] * r) div 255; p0[x2 * 3 + 1]:=p0[x2 * 3+ 1] - (p0[x2 * 3+ 1] * g) div 255; p0[x2 * 3 + 2]:=p0[x2 * 3+ 2] - (p0[x2 * 3+ 2] * b) div 255; end; end; ssuf.Canvas.Draw(0,0,DIB); ssuf.Canvas.Release; DIB.Clear; DIB.Free; DIB:=nil; end;
用户评论
便宜不过,缺类吧??
好像是真的!有点问题,但是问题不大