Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mehrere Bilder in ein Bildfeld? (https://www.delphipraxis.net/31115-mehrere-bilder-ein-bildfeld.html)

MAD_87 4. Okt 2004 15:49


Mehrere Bilder in ein Bildfeld?
 
Hi @all..

Wollte mal wisssen wie ich in einem Bildfeld mehrere Bilder zufällig anzeigen lasse.
Das sollte ja irgendwie mit der random- Funktion gehn.. Wäre nett wenn jemand mal nen Beispielcode oder sowas hier rein postet. Schonmal thx..

ipworks 4. Okt 2004 15:55

Re: Mehrere Bilder in ein Bildfeld?
 
Hallo
Bilder = Bitmaps?
Bildfeld = ????...Timage, TCanvas, TPaintBox

Also "Bilder im Bildfeld" finde ich in meinem Delphi nicht.
Bitte etwas genauer :)
Peter

dizzy 4. Okt 2004 15:55

Re: Mehrere Bilder in ein Bildfeld?
 
Du lieferst dir die Antwort selbst, und fragst nach fertigem Code? :roll:

MAD_87 4. Okt 2004 18:24

Re: Mehrere Bilder in ein Bildfeld?
 
Zitat:

Zitat von dizzy
Du lieferst dir die Antwort selbst, und fragst nach fertigem Code? :roll:

Ja weil ich grad erstmal anfange mit Delphi. Ich weiss dass es ne Random Funktion gibt, aber ich weiss halt net wie man die so schreibt.
Mit Bildern mein ich die Bitmaps, bzw. Jpg, .. und mit Bildfeldern die Felder wo man das Image reinlädt. Man muss ja erstmal ein Feld markieren wo mann dann das Image reinlädt. Und ich bekomm halt immer nur ein Bild pro Bildfeld, obwohl ich mehrere in eins haben will.

Matze 4. Okt 2004 18:25

Re: Mehrere Bilder in ein Bildfeld?
 
Falls du in einem Image mehrere Bilder haben möchtest, kannsu du das mit Hier im Forum suchenDraw realisieren.

Hier im Forum suchenrandom
Delphi-Referenz durchsuchenrandom

MAD_87 4. Okt 2004 18:37

Re: Mehrere Bilder in ein Bildfeld?
 
Zitat:

Zitat von Matze
Falls du in einem Image mehrere Bilder haben möchtest, kannsu du das mit Hier im Forum suchenDraw realisieren.

Hier im Forum suchenrandom
Delphi-Referenz durchsuchenrandom

Wie läuft denn dieser Draw Befehl?

Matze 4. Okt 2004 18:51

Re: Mehrere Bilder in ein Bildfeld?
 
Delphi-Quellcode:
var Bild1: TBitMap;
begin
  Image1.Canvas.Draw(x-Koord, y-Koord, Bild1);
end;

Edit: Delphi-Tags vergessen :wall:

PexxeR 18. Jun 2006 20:21

Re: Mehrere Bilder in ein Bildfeld?
 
Sorry, das ich jetzt auf so einen alten Beitrag antworte, bzw eine Frage habe, aber ich hatte genau das selbe Problem. So, nun habe ich mir das durchgelesen und habe es auch verstanden. Aber wie bringe ich denn Delphi bei, das es sich bei Bild1 um pic1.jpg, bei Bild2 um pic2.jpg und so weiter handelt. Das versteh ich nicht ganz... :(

DGL-luke 18. Jun 2006 20:35

Re: Mehrere Bilder in ein Bildfeld?
 
erstens musst du dann die unit jpeg einbinden. du kannst es dann so machen:


Delphi-Quellcode:
var p: TPicture;
begin
p := TPicture.Create;
p.LoadFromFile('bild1.jpg');
Image1.Canvas.Draw(x-Koord, y-Koord, p);
end;

PexxeR 18. Jun 2006 20:42

Re: Mehrere Bilder in ein Bildfeld?
 
hmmm... das geht leider nicht (vllt. mach ich auch was falsch)
Es kommt immer die Fehlermeldung

[Error] Galerie.pas(34): Incompatible types: 'TGraphic' and 'TPicture'

Was ist zu tun??

BenjaminH 18. Jun 2006 20:56

Re: Mehrere Bilder in ein Bildfeld?
 
Nunja, was steht denn in dieser "Zeile 34"?

Hawkeye219 18. Jun 2006 21:09

Re: Mehrere Bilder in ein Bildfeld?
 
Willkommen in der Delphi-PRAXiS, PexxeR!

Die Draw-Methode benötigt ein TGraphic-Objekt, erhält aber in p ein TPicture-Objekt. Das Bild sollte zudem freigegeben werden, wenn es nach dem Zeichnen nicht mehr benötigt wird:

Delphi-Quellcode:
var
  p: TPicture;
begin
  p := TPicture.Create;
  p.LoadFromFile ('bild1.jpg');
  Image1.Canvas.Draw (x - Koord, y - Koord, p.Graphic);
  p.Free;
end;
Gruß Hawkeye

PexxeR 18. Jun 2006 21:10

Re: Mehrere Bilder in ein Bildfeld?
 
mhhhh... I LOVE YOU

DANKE !!!!!!!!!!
GEILES FORUM!!!!!!

waaaahhh halt!!!
Jetzt funktioniert es ja, aber anstatt mir das korrekte Bild anzuzeigen, wird nur ein weißes Feld angezeigt. Wo muss denn das eigentliche Bild abgespeichert sein? Ich habe es zusammen mit allen Projektdateien in einem eigenen Ordner gesaved, aber Delphi zeigt es wie gesagt nicht korrekt an...

3_of_8 18. Jun 2006 21:16

Re: Mehrere Bilder in ein Bildfeld?
 
Nanana, gleich so euphorisch...

semo 18. Jun 2006 21:48

Re: Mehrere Bilder in ein Bildfeld?
 
wenn du das so aufrufst:

p.LoadFromFile ('bild1.jpg');

dann muss das Bild im Ordner der *.exe-Datei liegen.

PexxeR 19. Jun 2006 08:02

Re: Mehrere Bilder in ein Bildfeld?
 
ok, es klappt jetzt!!! keine Ahnung was da jetzt noch falsch war, aber es funzt!!!

DANKÖ!!

3_of_8 19. Jun 2006 13:09

Re: Mehrere Bilder in ein Bildfeld?
 
Zitat:

Zitat von computer-glossar.de
wenn du das so aufrufst:

p.LoadFromFile ('bild1.jpg');

dann muss das Bild im Ordner der *.exe-Datei liegen.

Eher im aktuellen Arbeitsverzeichnis, oder?

EDatabaseError 19. Jun 2006 13:32

Re: Mehrere Bilder in ein Bildfeld?
 
Zitat:

Zitat von 3_of_8
Zitat:

Zitat von computer-glossar.de
wenn du das so aufrufst:

p.LoadFromFile ('bild1.jpg');

dann muss das Bild im Ordner der *.exe-Datei liegen.

Eher im aktuellen Arbeitsverzeichnis, oder?


jub 3_of_8
wenn du jetzt im Prog. eine Datei z.B. via Open oder savedialog öffnest oder speicherst dann wechselt sich das arbeitsverzeichnis und dann bekommst du ne exception bei deinem aufruf.
Deshalb:
OnCreate beim Haupform:
GetDir(0,workdir); //Dabei ist workdir eine GLOBALE Variable

und dann einfach

p.LoadFromFile (workdir + '\bild1.jpg');

3_of_8 19. Jun 2006 13:40

Re: Mehrere Bilder in ein Bildfeld?
 
Oder einfach:

Delphi-Quellcode:
var AppPath: String;

//...

initialization
AppPath:=ExtractFilePath(ParamStr(0));

EDatabaseError 19. Jun 2006 13:41

Re: Mehrere Bilder in ein Bildfeld?
 
oder so ;-) :lol:

PexxeR 19. Jun 2006 14:33

Re: Mehrere Bilder in ein Bildfeld?
 
öhm ja... :gruebel:
auch wenn ich davon sogut wie kein wort geschnallt habe... WEITER SO!! :stupid:

Nils_13 19. Jun 2006 15:02

Re: Mehrere Bilder in ein Bildfeld?
 
Hi,

1. Kommt drauf an, wie groß die Bilder sein sollen. --> falls klein kannst du eine ImageList benutzen.
2. Falls es dich nervt Bilder immer mitzuschicken, kannst du dies benutzen.

Zitat:

Zitat von PexxeR
öhm ja... :gruebel:
auch wenn ich davon sogut wie kein wort geschnallt habe... WEITER SO!! :stupid:

Dann lass es dir von uns erklären, benutze die Forensuche oder (immer zuerst) die Delphi-Hilfe (Quelltexteditor --> F1 oder einfach im Hauptmenü unter Hilfe --> Delphi-Hilfe).


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:08 Uhr.

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