![]() |
Re: Bitmap Datein in Delphi anzeigen und andere sachen
Delphi-Quellcode:
Das ist eine Methode deines Formulars, die du für deine Zwecke aufrufen kannst. Du übergibst dein Bitmap und die gewünschte Bildkoordinate; Rückgabewerte sind die 3 Farbanteile des angegebenen Punkts.
procedure TForm1.GetFarbe(var r, g, b: Byte; Bild: TBitmap; X, Y: Integer);
var Farbe: TColor; begin Farbe := Bild.Canvas.Pixels[X, Y]; r := GetRValue(Farbe); b := GetBValue(Farbe); g := GetGValue(Farbe); end; |
Re: Bitmap Datein in Delphi anzeigen und andere sachen
Wenn Du Dich mit den Pixeln spielen willst solltest Du lieber nach
![]() Edit: Praktisches Beispiel: ![]() |
Re: Bitmap Datein in Delphi anzeigen und andere sachen
Delphi-Quellcode:
so 2 Fragen wenn ich scanline verwende was gibt mir scanline? eig die Farb werte oder? dann würd ich die gerne in dem edit feld ef Pixel darstellen nur klappt das mal wieder nicht... könnt ihr mir da mal helfen?
unit Facharbeit;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Open: TOpenDialog; bBildladen: TButton; Image1: TImage; bPixelauslesen: TButton; efPixel: TEdit; procedure bBildladenClick(Sender: TObject); procedure bPixelauslesenClick(Sender: TObject); private { Private-Deklarationen } DasBitmap:TBitmap; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.bBildladenClick(Sender: TObject); begin //TForm1 OnCreate; begin DasBitmap := TBitmap.Create; end; if Open.Execute then begin if Open.Execute then begin DasBitmap.LoadFromFile(Open.FileName); Image1.Picture.Bitmap.Assign(DasBitmap) end; end; //TForm1 OnDestroy; begin DasBitmap.Free; end; end; procedure TForm1.bPixelauslesenClick(Sender: TObject); begin efPixel.text:=(DasBitmap.ScanLine[]); end; end. |
Re: Bitmap Datein in Delphi anzeigen und andere sachen
gaui :shock:
Bevor wir bei ScanLine () einsteigen.... Was in aller Welt hast du mit OnCreate() und OnDestroy() gemacht????? |
Re: Bitmap Datein in Delphi anzeigen und andere sachen
wie??? ich hab das so gemacht das beim click des Buttons ein Bitmap erstellt wir und es funktioniert .. oke ihr kennt euch da besser aus was is falsch oder muss ich ändern? und wieso=?
|
Re: Bitmap Datein in Delphi anzeigen und andere sachen
Naja, Du erzeugst das Bitmap und gibst es gleich weieder frei, aber grundsätzlich frage ich mich, warum man das Bitmap nicht gleich mit Image1.Picture.LoadFromFile lädt, wenn man schon ein TImage verwendet. :gruebel:
|
Re: Bitmap Datein in Delphi anzeigen und andere sachen
sagen wirs so davon wusste ich nix ich kenne nur die Methode der zuweisung :) lern das ja erst seit einem jahr.
|
Re: Bitmap Datein in Delphi anzeigen und andere sachen
aber ich kann das so mit der zuweisung machen oder? dann mach ich eben noch einen Button der das Image freigibt und dsa Programm schließt das wäre doch oke oder nich`?
|
Re: Bitmap Datein in Delphi anzeigen und andere sachen
also nochmal zu diesem scanline. Ich hab herausgefunden, dass das ein indizierter Zugriff ist aber ich weiß nicht wirklich was da rein muss
die Delphihilfe sagt
Delphi-Quellcode:
also Row is ja die Zeile das is mir klar aber bei Pointer bin ich planlos
ScanLine[Row: Integer]: Pointer;
|
Re: Bitmap Datein in Delphi anzeigen und andere sachen
Das mit der Zuweisung kannst Du machen, is halt n bißchen umständlicher, aber das TImage brauchste eigentlich nicht slebt freigeben, das macht Delphi für Dich ;)
Wenn Du meinem Link oben gefolgt wärst hättest Du eine Unit gefunden, in der SetPixel und GetPixel per ScanLine implementiert sind ;) (Es gäbe auch noch andere implementierungsmöglichkeiten) Dazu zu sagen ist, das das nur bei 24 Bit (RGB) und 32 Bit (RGBA) Bitmaps so funktioniert, mit Pixelformat bekommst Du heraus, welches Format Deine Bitmap hat. PS: Wenn Du mal kurz Zeit hast klicke auf http://www.delphipraxis.net/template.../icon_edit.gif, damt kannst Du Deine Posts edtieren und mußt nicht soviele hintereinander machen ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 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