Entwickler-Ecke

Dateizugriff - Eigenschaften von Bildern ändern


BM_90 - Do 03.01.08 16:53
Titel: Eigenschaften von Bildern ändern
Ich hab folgende Probleme: Ich weiß zwar, wie ich Bilder unter einem bestimmten Namen abspeichern kann, aber nicht, wie ich ich sie unter dem selben Namen speichern, also quasi umbenennen kann. Außerdem möchte ich beim speichern gerne eine Auflösung angeben, in der das Bild gespeichert werden soll. Kann mir bitte jemand helfen?


Narses - Do 03.01.08 17:10
Titel: Re: Eigenschaften von Bildern ändern
Moin!

user profile iconBM_90 hat folgendes geschrieben:
Ich weiß zwar, wie ich Bilder unter einem bestimmten Namen abspeichern kann, aber nicht, wie ich ich sie unter dem selben Namen speichern, also quasi umbenennen kann.
Ich nehme mal an, du möchtest eine Datei umbenennen. Das geht z.B. mit dieser Funktion:

Delphi-Quelltext
1:
function RenameFile(const OldName, NewName: string): Boolean;                    

Details in der Online-Hilfe von Delphi (einfach den Funktionsnamen eingeben und F1 drücken). :les: ;)

user profile iconBM_90 hat folgendes geschrieben:
Außerdem möchte ich beim speichern gerne eine Auflösung angeben, in der das Bild gespeichert werden soll.
Da das Ändern der Auflösung eines Bildes nix mit dem Speichern zu tun hat, möchte ich dich bitten, mal nach Suche in: Delphi-Forum, Delphi-Library BITMAP SKALIEREN zu suchen. Wenn du damit nicht weiter kommst, dann erstelle bitte einen neuen Thread unter Multimedia / Grafik [http://www.delphi-forum.de/forum_Multimedia++Grafik_9.html]. Danke. ;)

cu
Narses


BM_90 - Do 03.01.08 17:18

Das hat nichts mit dem speichern zu tun?? Mhh.. naja, hab ich wohl falsch gedacht. Danke für den Tip, hab was gefunden, ich werde bis jetzt zwar noch nicht so ganz schlau draus. Aber mal sehen... Leider spinnt mein Delphi grade, kann also noch dauern...


BM_90 - Mo 07.01.08 14:59

Ich glaube, du hast mich missverstanden. Ich will nicht (nur) in meinem Programm die Auflösung ändern, sondern die Auflösung der Bilder selbst. Sprichl, die Bilder sollen in einer anderen Auflösung gespeichert werden...


Narses - Mo 07.01.08 15:05

Moin!

user profile iconBM_90 hat folgendes geschrieben:
Ich glaube, du hast mich missverstanden.
Nein, ich denke nicht. ;)

user profile iconBM_90 hat folgendes geschrieben:
Ich will nicht (nur) in meinem Programm die Auflösung ändern, sondern die Auflösung der Bilder selbst. Sprichl, die Bilder sollen in einer anderen Auflösung gespeichert werden...
Ja, genau. Deshalb musst du die Bilder erstmal skalieren und kannst sie dann mit der geänderten Auflösung speichern. :idea:

cu
Narses


BM_90 - Di 08.01.08 11:01

Mhhh... Das leuchtet natürlich ein. Aber das krieg ich auch nicht auf die Reihe. Ich weiß zwar, wie ich die Maße der angezeigten Bilder ändere, wenn ich sie dann speichere sind sie wieder in originalgröße. Der ändert also nur die Darstellung von dem Bild.
Hättest du vllt noch eine Idee, wo ich mich da schlau machen könnte??


Narses - Di 08.01.08 12:00
Titel: Re: Eigenschaften von Bildern ändern
Moin!

user profile iconBM_90 hat folgendes geschrieben:
Hättest du vllt noch eine Idee, wo ich mich da schlau machen könnte??

user profile iconNarses hat folgendes geschrieben:
Da das Ändern der Auflösung eines Bildes nix mit dem Speichern zu tun hat, möchte ich dich bitten, mal nach Suche in: Delphi-Forum, Delphi-Library BITMAP SKALIEREN zu suchen. Wenn du damit nicht weiter kommst, dann erstelle bitte einen neuen Thread unter Multimedia / Grafik [http://www.delphi-forum.de/forum_Multimedia++Grafik_9.html]. Danke. ;)

cu
Narses


BM_90 - Di 08.01.08 12:17

Da hab ich eigentlich schon geguckt.. Bin irgendwie nicht so ganz schlau draus geworden, aber naja... Ich glaub, ich bin ein hoffnngsloser Fall... Danke für den Versuch.


LorenzS - Di 08.01.08 12:22

Vlt geht es ja so:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
procedure BmpScale(lDateiname,lNeuerDateiname:string;lNeueHoehe,lNeueBreite:integer);
var
 AltBmp,
 NeuBmp  : TBitmap;
 AltRect,
 NeuRect : TRect;
begin
 AltBmp:=TBitmap.create;
 AltBmp.LoadFromFile(lDateiname); //Bild laden

 NeuBmp:=TBitmap.create;     //Neues Bild erstellen
 NeuBmp.Height:=lNeueHoehe;  //mit neuen grössen
 NeuBmp.Width :=lNeueBreite;

 AltRect:=Rect(0,0,AltBmp.Width,AltBmp.Height);// Bereiche deklarieren
 NeuRect:=Rect(0,0,lNeueBreite,lNeueHoehe);

 NeuBmp.Canvas.CopyRect(NeuRect,AltBmp.canvas,AltRect);//Bildinhalt kopieren

 NeuBmp.SaveToFile(lNeuerDateiname);//Bild Speichern

 AltBmp.Destroy; //speciher freigeben
 NeuBmp.Destroy;
end;


Narses - Di 08.01.08 12:25

Moin!

Das Skalieren von Bitmaps wird bitte in einem neuen Thread in der Sparte Multimedia / Grafik [http://www.delphi-forum.de/forum_Multimedia++Grafik_9.html] besprochen. Danke. ;)

cu
Narses