![]() |
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:
thx Corelgott
procedure TForm1.FormCreate(Sender: TObject);
begin Picture := TBitmap.Create; Picture.PixelFormat := pf24bit; end; Canvas.CopyRect(Target, Picture.Canvas, Source); //Kurze Variante... |
Re: Seltsamer Farb-Fehler bei Bitmaps?!?
Hast dus schon mal mit
Delphi-Quellcode:
probiert?
Canvas.CopyRect(Target, Picture.Bitmap.Canvas, Source);
[edit] Bzw. als was hast du Picture deklariert? TBitmap, TGraphic, oder TPicture? [/edit] |
Re: Seltsamer Farb-Fehler bei Bitmaps?!?
Versuchs mal mit
Picture.PixelFormat := pf32bit. Ich weiss nicht ob es etwas nützt... |
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:
Ich dachte aber das würde aus dieser Zeile klar...
var
Form1: TForm1; [b]Picture : TBitmap;[/b] Box : TRect;
Code:
@The Master
Picture := [b]TBitmap[/b].Create;
Picture.PixelFormat := pf24bit; Leider hilft das auch nichts... Hmmm... thx & cya Corelgott |
Re: Seltsamer Farb-Fehler bei Bitmaps?!?
Hmmmm... dann muss der Fehler woanders liegen. Woher stammt den der Quell-Canvas?
|
Re: Seltsamer Farb-Fehler bei Bitmaps?!?
Versuchs mal so:
Delphi-Quellcode:
Canvas.CopyRect(Form1.Canvas.ClipRect, Picture.Canvas, Form1.Canvas.ClipRect);
|
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 |
Re: Seltsamer Farb-Fehler bei Bitmaps?!?
Zitat:
Hmmm.... :roll: Oder bewirkt Cliprect irgendetwas sepzielleres, als den "Zeichenbereich" der Form anzugeben?! thx Corelgott |
Re: Seltsamer Farb-Fehler bei Bitmaps?!?
Ich meinte eigentlich, wo kommt das Bild her, was gezeichnet wird? Per LoadFromFile oder wie oder was?
|
Re: Seltsamer Farb-Fehler bei Bitmaps?!?
Zitat:
Ich werde mich noch ein bisschen mit deinem Problem beschäftigen. |
Re: Seltsamer Farb-Fehler bei Bitmaps?!?
@scp
Jupp! Genau so ist es:
Delphi-Quellcode:
Picture.LoadFromFile(OpenPic.FileName);
|
Re: Seltsamer Farb-Fehler bei Bitmaps?!?
Zitat:
|
Re: Seltsamer Farb-Fehler bei Bitmaps?!?
So, habs raus: Zum stauchen oder strecken eignet sich CopyRect nicht. Benutz stattdessen folgendes:
Delphi-Quellcode:
Canvas.StretchDraw(Target, Picture);
|
Seltsamer Farb-Fehler bei Bitmaps?!?
Hmmm...
Irgendwie macht das den gleichen Farbfehler.... troztdem thx Corelgott |
Re: Seltsamer Farb-Fehler bei Bitmaps?!?
Seltsam, bei mir war bei CopyRect der Farbefehler und bei Stretchdraw ist er nicht mehr.
|
Re: Seltsamer Farb-Fehler bei Bitmaps?!?
Wenn du dich nicht scheust, etwas moderner zu werden, kannst du auch die GDI+ verwenden. Diese vergrößert und verkleinert Bilder mithilfe bilinearer Filterung ohne Farbfehler. Davon abgesehen kann sie auch ein paar mehr Formate von Haus aus laden.
|
GDI?
GDI? Ich scheue weder Tod :witch: noch Teufel :evil:
:wink: Aber ich weis nicht in wiefern das mit Spatzen auf Kanonen schießen wäre :-D Die Hauptfunktion die mein Programm erfüllen soll ist ein JPG ISDN-eMail-Freundlich zum Machen. Also ein 2MB Digicam bild auf ca. 500kb zurechtschrumpfen lassen. Das wollte ich dem Benutzer eigentlich nur Visuell zeigen... Hättest du viellicht mal nen Bsp-Code für mich... So zum reinschnuppern? thx Corelgott Ps.: @scp Nochaml danke für die viele Mühe aber selbst nach meheren Stunden herrumbasteln mit der StrechDraw ging das immernoch nicht... :wall: :gruebel: |
Re: Seltsamer Farb-Fehler bei Bitmaps?!?
Nee, kann dir gerade kein Beispiel bieten, kein PSDK, Visual Studio oder Delphi installiert ;c)
Aber einfach mal im PSDK nach GDI+ schauen (das + nicht vergessen, das ist das Elementare daran (c; ), da sind glaube ich auch ein paar Tutorials drin, und die Gdiplus.pas findet man auch irgendwo bei Torry oder so... Ansonsten ist GDI+ vom Aufwand her nicht viel mehr als TBitmap.blabla oder die klassische GDI, musst halt nur die Bibliothek mitliefern, wenn es auch vor NT5.1 laufen soll :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz