Hallo,
Ich möchte das nur ein bestimmter teil eines Bildes gezeichnet wird. Dies geschieht unter DirectX11 (SharpDX) mit diesem Code:
Zuerst das DestinationRectangle und am Ende das SourceRectangle. Das Ergebnis sieht wie folgt aus:
Das wäre das korrekte Erscheinungsbild, und sieht unter DirectX9 sowie GDI gleich aus. DirectX10 hingegen, produziert mit dem selben Code ein verzerrtes Bild:
Die Ausgangswerte sind alle gleich, aber Direct2D (Dx10) scheint internal irgendwas falsch zu resizen.. Kennt jemand das Problem, und konnte es erfolgreich lösen?
Ich möchte das nur ein bestimmter teil eines Bildes gezeichnet wird. Dies geschieht unter DirectX11 (SharpDX) mit diesem Code:
C#-Quellcode
- DirectXHelper.RenderTarget.DrawBitmap(dxBmp,
- new RectangleF(position.X, position.Y, spriteSheet.Rectangle.Width, spriteSheet.Rectangle.Height), opacity,
- _interpolationMode == InterpolationMode.Linear
- ? BitmapInterpolationMode.Linear
- : BitmapInterpolationMode.NearestNeighbor, DirectXHelper.ConvertRectangle(spriteSheet.Rectangle));
Zuerst das DestinationRectangle und am Ende das SourceRectangle. Das Ergebnis sieht wie folgt aus:
Das wäre das korrekte Erscheinungsbild, und sieht unter DirectX9 sowie GDI gleich aus. DirectX10 hingegen, produziert mit dem selben Code ein verzerrtes Bild:
Die Ausgangswerte sind alle gleich, aber Direct2D (Dx10) scheint internal irgendwas falsch zu resizen.. Kennt jemand das Problem, und konnte es erfolgreich lösen?