Bitmap scalieren

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
khh
Beiträge: 489
Registriert: Sa 5. Apr 2008, 09:37
OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
CPU-Target: 32Bit /64 Bit
Wohnort: Nähe Freiburg i.Br.

Bitmap scalieren

Beitrag von khh »

hallo zusammen,
ich möchte ein Bild erstellen, welches als File (im bmp-Format?) gespeichert werden soll.
Das Bitmap soll z.B. DinA4 gross werden.
Dazu lege ich ein TBitmap an, schreibe Text auf die Cancas füge weitere BItmaps ein, usw.
das funktioniert ja einwandfrei solange die einzufügenden Bitmaps kleiner als das neue Bitmap sind.
Wie kann ich jetzt das( die) einzufügende Bitmap, _verlustfrei_, scalieren, wenn das Original grösser ist als das neue Bitmap.
Edit:
ach ja, ich denke einfach
Width und
Height zu setzen scheidet aus Qualitätsgründen wohl aus.

danke für eure Hilfe

Gruss KH

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Wie willst du denn etwas verlustfrei skalieren ?
Du kannst doch auch nicht sagen ich will jetzt einen Apfel aus dem hier machen der doppelt oder halb so groß ist aber die selbe dichte hat. kannst mit SretchDraw zeichnen das sollt recht gute Ergebnisse bringen
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

khh
Beiträge: 489
Registriert: Sa 5. Apr 2008, 09:37
OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
CPU-Target: 32Bit /64 Bit
Wohnort: Nähe Freiburg i.Br.

Beitrag von khh »

@christian,
naja dann eben _fast_ verlustfrei ;-)
ok, dann werd ich das mal so versuchen,
wobei trotzdem intressant wäre wie zb. Photoshop das handelt.

Danke dir

Gruss KH

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

auch nicht anders...skalieren ist nunmal immer mit Qualitätsverlust verbunden. Es sei denn, um theoretisch die selbe Datenmenge in der Datei zu haben, wäre es ja möglich, die Skalierung mit der Auflösung zu verändern.
Ein halb so großes Bild hat dann halt die doppelte Auflösung, dann würden theoretisch ja keine Daten verloren gehen.
Johannes

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

khh hat geschrieben:@christian,
naja dann eben _fast_ verlustfrei ;-)
ok, dann werd ich das mal so versuchen,
wobei trotzdem intressant wäre wie zb. Photoshop das handelt.
OPBitmap hat eine Canvas.Resample Methode.
Kannst ja mal damit probieren.

http://www.lazarusforum.de/viewtopic.ph ... sc&start=0" onclick="window.open(this.href);return false;

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Also das TImage hat eine eigene Eigenschaft dafür wenn es einfach sein soll
und mit StretchBlt geht das auch noch.
MFG
Michael Springwald

Dets
Beiträge: 61
Registriert: Di 11. Sep 2007, 16:59
OS, Lazarus, FPC: Ubuntu Maverick (L 0.9.28.2-10, FPC 2.4.0)
CPU-Target: 32Bit
Wohnort: Lage
Kontaktdaten:

Beitrag von Dets »

khh hat geschrieben:naja dann eben _fast_ verlustfrei ;-)
ok, dann werd ich das mal so versuchen,
wobei trotzdem intressant wäre wie zb. Photoshop das handelt.

Falls du das Verkleinern von Fotos meinst (die man für bestmögliche Bildqualität nicht nur resamplen sondern auch leicht Nachschärfen sollte):
dazu benutze ich ImageMagick (mit PascalMagick). Bei Interesse kann ich gern etwas Quelltext posten.

Dets ...

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Das kann Opbitmap auch ohne externe Libs.

Resampling ist eingebaut und Schärfen hatte ich mal hier gepostet:
http://www.lazarusforum.de/viewtopic.ph ... t=opbitmap" onclick="window.open(this.href);return false;

Dets
Beiträge: 61
Registriert: Di 11. Sep 2007, 16:59
OS, Lazarus, FPC: Ubuntu Maverick (L 0.9.28.2-10, FPC 2.4.0)
CPU-Target: 32Bit
Wohnort: Lage
Kontaktdaten:

Beitrag von Dets »

theo hat geschrieben:Das kann Opbitmap auch ohne externe Libs.

Resampling ist eingebaut und Schärfen hatte ich mal hier gepostet:
http://www.lazarusforum.de/viewtopic.ph ... t=opbitmap" onclick="window.open(this.href);return false;
Oh, gut zu wissen!

Danke, Dets ...

Antworten