| Autor |
Beitrag |
Invisible
Hält's aus hier
Beiträge: 8
|
Verfasst: Mo 24.11.03 19:02
Hallo Leute,
Ich möchte ein Image selbst erzeugen und dann ein Bild dort einfügen.
Mit dem erzeugen alles kein Problem, aber ich bekomme dass Bild nicht in das IMage.
Ich habs schon mit image1.picture.loadfromfile versucht hat aber nicht funktioniert. ER kennt dann den NAmen der BMP nicht.
Kann mir bitte einer helfen
Danke!
|
|
obbschtkuche
Gast
Erhaltene Danke: 1
|
Verfasst: Mo 24.11.03 19:43
Versuch mal Image1.Picture.Assign(namedervariable)
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 24.11.03 20:30
| Invisible hat folgendes geschrieben: | | Ich habs schon mit image1.picture.loadfromfile versucht hat aber nicht funktioniert. ER kennt dann den NAmen der BMP nicht. |
- Bist du sicher, dass der Dateiname richtig geschrieben ist?
- Wenn Ja: Hast du einen Pfad angegeben, oder liegt das Bild im selben Ordner wie dein Programm?
- Wenn im selben Ordner: bist du sicher, dass das Arbeitsverzeichnis mit dem Pfad deines Programms identisch ist?
- Wenn du nicht sicher bist: benutze einen Pfadnamen (s.
EXTRACTFILEPATH, PARAMSTR).
|
|
Invisible 
Hält's aus hier
Beiträge: 8
|
Verfasst: Di 25.11.03 11:00
Titel: Danke Leute!
Ich hab den Fehler jetzt gefunden.
Danke noch mal für eure Tipps. 
|
|
FatalError
      
Beiträge: 64
WIN ME
D6 Pers
|
Verfasst: So 21.12.03 16:01
| Zitat: |
Wenn im selben Ordner: bist du sicher, dass das Arbeitsverzeichnis mit dem Pfad deines Programms identisch ist? |
Hi,
wie überprüft man das?
Grüße
Andy
|
|
StefanH
      
Beiträge: 1144
Win XP
D5 Standard, D7 Pers, D2005 Pers
|
Verfasst: So 21.12.03 16:52
mit ExtractFilePath kriegst du den Pfad
Delphi-Quelltext 1:
| ExtractFilePath(ParamStr(0)) |
bzw.
Delphi-Quelltext 1:
| ExtractFilePath(Application.ExeName) |
gibt dir den Pfad deiner Exe.
Arbeitsvereichnis: GetCurrentDir
Stefan, 
_________________ "Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
"Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
|
|
FatalError
      
Beiträge: 64
WIN ME
D6 Pers
|
Verfasst: So 21.12.03 19:38
Hi,
Danke, den Dateinamen bekomm ich jetzt  war auch richtig so, aber es funzt immer noch net mit dem Bild.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type TForm1 = class(TForm) Image1: TImage; Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin image1.picture.loadfromfile(Pool.bmp); Edit1.text := ExtractFilePath(Application.ExeName); end;
end. |
Muss ich da noch irgendwas hinzufügen, damit ich das .bmp in Image bekomme?
Grüße
Andy[/code]
|
|
Lossy eX
      
Beiträge: 1048
Erhaltene Danke: 4
|
Verfasst: So 21.12.03 20:11
Hast du dir mal spaßeshalber ausgeben lassen was du von ExtractFilePath bekommst? Ich glaube aber mal sehr stark, dass nicht. Denn wenn du es gemacht hättest, dann hättest du auch mitbekommen, dass ExtractFilePath am Ende keinen Backslash anhängt.
Wenn du folgendes machst bekommst du immer das Verzeichniss in dem sich auch deine Anwendung befindet und das Laden des Bildes geht ohne Probleme.
Delphi-Quelltext 1:
| Dateiname := ExtractFilePath(ParamStr(0)) + '\' + Dateiname; |
PS: Sich auf das aktuelle Verzeichniss zu verlassen grenzt an Selbstmord, da du bei einer Verknüpfung auch einen Arbeitsordner angeben kannst. Und du nie sicherstellen kannst, dass du auch tatsächlich das gewünschte Verzeichniss bekommst.
|
|
obbschtkuche
Gast
Erhaltene Danke: 1
|
Verfasst: So 21.12.03 20:58
|
|
FatalError
      
Beiträge: 64
WIN ME
D6 Pers
|
Verfasst: Mo 22.12.03 00:35
Titel: aus fehlern wird man klug...
Hi,
danke obbschtkuche, jetzt funktionierts
@Lossy
Doch hab ich 'spasseshalber' mal gemacht
und ich muss gestehen, an den Backslash hab ich in meiner Unkenntnis nicht gedacht
Neues Problem:
Warum unterstützt .bmp keine durchsichtigen Hintergründe?
Gibt es eine Möglichkeit, ein rundes bmp (für eine Billardkugel) zu erschaffen, oder muss ich dann mit anderen Dateitypen arbeiten?
Grüße
Andy
|
|
Lossy eX
      
Beiträge: 1048
Erhaltene Danke: 4
|
Verfasst: Mo 22.12.03 13:34
Dann wundert es mich, dass es dir nicht aufgefallen ist. Ist ja irgendwie mehr als offensichtlich...
Ein Bitmap kann so etwas nicht. Aber du kannst alles was du durchsichtig machen willst in einer besonderen Farbe einfärben. (Grün oder so etwas).
Und bei einem TBitmap kannst du diese Farbe dann Transparent machen lassen. Bzw kannst du die auch per WindowsAPI transparent zeichnen lassen. Das dumme ist es ist recht langsam. Aber da kann man so leider nicht viel ändern.
|
|
FatalError
      
Beiträge: 64
WIN ME
D6 Pers
|
Verfasst: Mo 22.12.03 14:24
Hmmm..
Delphi-Quelltext 1:
| C:\WINDOWS\DESKTOP\KOPIE VON IMAGE\ |
Genau das steht bei mir im Edit-Fenster drin, nach Extract...
Aber danke für die Informationen zum durchsichtig machen
Grüße
Andy
|
|