Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Seltsamer Farb-Fehler bei Bitmaps?!? (https://www.delphipraxis.net/13891-seltsamer-farb-fehler-bei-bitmaps.html)

Corelgott 28. Dez 2003 17:35


Seltsamer Farb-Fehler bei Bitmaps?!?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi mal wieder!

Ich habe da mal so'n Problem (wie sollte es auch anders sein... :? !)
Also ich schreibe gerade an so nem kleinen Bildbetrachter rum (soll nichts außergewöhnliches können! Eben Bilder anzeigen!)

Also grab ich mir ein Bild von meiner Platte und nagel das Per Canvas direkt auf die Form!
(So kann ich die Angezeigte größe besser bestimmen)

Nun tritt da aber was auf das da eigentlich nicht hin gehört! Eine Art "Farbfehler"
Muss man sich so vorstellen, dass das Bild auf der Form zu sehen ist aber im Bild eine Art Gitternetz zu sehen ist! Alles was auf diesen Gitterlinien liegt hat ne veränderte Farbe.
(Ist verdammt doof zu beschreiben! :( )

Ich lege mal einen Screenshot bei! Vielleicht kennt das ja jemand!

Ach ja; Und hier der Code mit dem ist das Bild lade bzw. zeichne!

Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
    Picture := TBitmap.Create;
    Picture.PixelFormat := pf24bit;
end;

Canvas.CopyRect(Target, Picture.Canvas, Source); //Kurze Variante...
thx Corelgott

scp 28. Dez 2003 17:43

Re: Seltsamer Farb-Fehler bei Bitmaps?!?
 
Hast dus schon mal mit

Delphi-Quellcode:
Canvas.CopyRect(Target, Picture.Bitmap.Canvas, Source);
probiert?

[edit]
Bzw. als was hast du Picture deklariert? TBitmap, TGraphic, oder TPicture?
[/edit]

Dagon 28. Dez 2003 17:45

Re: Seltsamer Farb-Fehler bei Bitmaps?!?
 
Versuchs mal mit
Picture.PixelFormat := pf32bit.

Ich weiss nicht ob es etwas nützt...

Corelgott 28. Dez 2003 17:51

Re: Seltsamer Farb-Fehler bei Bitmaps?!?
 
:?: :?: :?:

Öhhhhh... Nö... Hatte ich noch nicht versucht;
Aber die Klasse TBitmap hat kein UnterObject namens Bitmap!
Das ist doch schon das Bitmap selbst!

Ok vielleicht hätte ich mal die deklaration mit liefern sollen...

Code:
var
  Form1: TForm1;
[b]Picture : TBitmap;[/b]
  Box : TRect;
Ich dachte aber das würde aus dieser Zeile klar...

Code:
    Picture := [b]TBitmap[/b].Create;
    Picture.PixelFormat := pf24bit;
@The Master

Leider hilft das auch nichts...

Hmmm...

thx & cya
Corelgott

scp 28. Dez 2003 17:55

Re: Seltsamer Farb-Fehler bei Bitmaps?!?
 
Hmmmm... dann muss der Fehler woanders liegen. Woher stammt den der Quell-Canvas?

Dagon 28. Dez 2003 18:01

Re: Seltsamer Farb-Fehler bei Bitmaps?!?
 
Versuchs mal so:
Delphi-Quellcode:
Canvas.CopyRect(Form1.Canvas.ClipRect, Picture.Canvas, Form1.Canvas.ClipRect);

Corelgott 28. Dez 2003 18:03

Re: Seltsamer Farb-Fehler bei Bitmaps?!?
 
@scp

wenn du das Canvas meinst, auf das ich zeichnen will: Das ist das Canvas der Form selbst;
Falls du das Canvas meinst, in dem das Bild Offscreen gelade und gespeichert wird:
Das wäre dann das des Picture-Objects (TBitmap -> siehe Code)

Wenn du weder Möglichkeit A noch Möglichkeit B meinst, habe ich keine ahnung was du meinst? :wink: :gruebel:
( :arrow: Dann würde ich darum bitten nochmals zu Posten :-D)

thx Corelgott

Corelgott 28. Dez 2003 18:08

Re: Seltsamer Farb-Fehler bei Bitmaps?!?
 
Zitat:

Zitat von the_master
Versuchs mal so:
Delphi-Quellcode:
Canvas.CopyRect(Form1.Canvas.ClipRect, Picture.Canvas, Form1.Canvas.ClipRect);

An sich ist das ok, aber ich mache das ja extra so mit meinen eigenen Rects, damit ich sie, bei bedarf strecken bzw. stauchen kann. (Das problem tritt übrigend unabhänig von streckung oder stauchung auf. Sogar bei der Darstellung in Orginalgröße!) :wall:

Hmmm.... :roll:

Oder bewirkt Cliprect irgendetwas sepzielleres, als den "Zeichenbereich" der Form anzugeben?!

thx Corelgott

scp 28. Dez 2003 18:11

Re: Seltsamer Farb-Fehler bei Bitmaps?!?
 
Ich meinte eigentlich, wo kommt das Bild her, was gezeichnet wird? Per LoadFromFile oder wie oder was?

Dagon 28. Dez 2003 18:16

Re: Seltsamer Farb-Fehler bei Bitmaps?!?
 
Zitat:

Zitat von Corelgott
Oder bewirkt Cliprect irgendetwas sepzielleres, als den "Zeichenbereich" der Form anzugeben?!

Es ist schon für den Zeichenbereich vorgesehen.

Ich werde mich noch ein bisschen mit deinem Problem beschäftigen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz