Move a small Bitmap over a large Bitmap

romanhoehne

Member
Joined
Dec 23, 2003
Messages
8
Hi,
Ive downloaded some samples for directdraw, but only in directx7 (SpaceBreakout) or Ive found some for dx9 in C or C++ on this pages here.
I want to move some small bitmaps (50 times 50 Pixs) with black as transparent color over a map (400 times 400 Pixs visible, 1000 times 1000 virtual). All in mode "display.SetCooperativeLevel(this, CooperativeLevelFlags.Normal);" . FullScreen maybe later...

Are here some good hints in csharp for directx9 here or has someone an example?

Here is, what I have tried so far (the "knight" has still a black Border...):

private void Draw()
....
primary.Draw(destination, offscreen, new Rectangle(i,j,300,300), Microsoft.DirectX.DirectDraw.DrawFlags.Wait, new DrawEffects() ) ;
primary.Draw(destination1, knight, DrawFlags.Wait);

private void CreateSurfaces()
{
display = new Device();
display.SetCooperativeLevel(this, CooperativeLevelFlags.Normal);
SurfaceDescription description = new SurfaceDescription();
description.SurfaceCaps.PrimarySurface = true;
primary = new Surface(description, display);
description.Clear();
clip = new Clipper(display);
clip.Window = this;
primary.Clipper = clip;
description.Clear();
offscreen = new Surface("card.bmp", description, display);
description.Clear();
ColorKey CC = new ColorKey();
CC.ColorSpaceHighValue = 0;
CC.ColorSpaceLowValue = 0;
knight = new Surface("knight.bmp", description, display);
knight.SetColorKey(Microsoft.DirectX.DirectDraw.ColorKeyFlags.SourceDraw, CC);
}

Maybe, I have forgotten something :(

Best regards
Roman
 
The Error is on this line
C#:
primary.Draw(destination1, knight, DrawFlags.Wait);
It should be:
C#:
primary.Draw(destination1, knight, DrawFlags.Wait | DrawFlags.KeySource);
You need to tell DirectDraw to use the color key, because it wants to know whether to use it on a case-by-case basis.
 
Last edited by a moderator:
Thanx alot!

Thanx for the help!
Is there a way to bring bitmaps faster to the screen using directX9 / c#? When I move/scroll the map and the knight in windowed mode.. it seams to fl[ai]cker...
Regards,
Roman
:rolleyes:
 
Back
Top