![]() |
Verlustfrei Bitmap verkleinern
Hallo,
ich wollte fragen ob es eine möglichkeit gibt ein Bitmap ohne Verluste zu verkleinern. Momentan resample(verkleinere) ich meine Bitmap mit den "Graphics32" Komponenten. Ich kann nur mit dem "TNerestResampler" verfahren wirklich verlustfrei verkleinern, jedoch sieht das resultat viel zu grobpixelig aus. Mein ziel ist es ein Bitmap verlustfrei zu verkleinern und dan aus dem Bitmap heraus eine Region zu erstellen. Hierzu erstelle ich die Region so das ich einen Farbwert übergebe welcher als Transparents dienen soll. Mein Problem ist nun das wenn ich das Bitmap mit z.B. "TLanzosKernel" resample das dan die Farbverluste dazu führen das die Region nicht ganz richtig ist da sich beim verkleinern die Transparents farbe welche der Hintergrund ist verändert hat. Ich habe von der möglichkeit des "Seam carving" oder "liquid resizing" gehört welche ein Bild verlustfrei verkleinern/vergößern kann, jedoch habe ich nirgends eine Delphi implementierung gefunden? Ich hoffe mir kann jemand weiterhelfen den ich finde keinen akzeptabelen ausweg. mit freundlichen Grüßen, Metal_Snake |
Re: Verlustfrei Bitmap verkleinern
Durch Verkleinerung hast du immer Verluste, egal mit welchem Verfahren. Der einzige Weg den ich sähe, wäre es wenn du dir die originale Version in ursprünglicher Größe im Speicher behälst, und darüber die Maske erzeugst, die du dann verkleinern kannst.
Ein Problem kann dabei jedoch werden, dass Regions nur 1-bittig sind, d.h. wenn du diese dann auf Bilder anwendest die du mit was besserem als Nearest-Neighbour verkleinert hast, kannst du eben wieder Ränder erhalten. Wenn du aber ohne hin schon mit der GR32 arbeitest, könntest du es evtl. so lösen, dass du im Original bei Pixeln mit deiner Transparenzfarbe den Alphakanal auf 0 setzt, und anschließend mit beliebigem Kernel verkleinerst. Dann sollte nämlich der Alphakanal gleich passend mit skaliert werden, und du kannst diesen dann zum Zeichnen auswerten. Regions fallen hierbei dann aber komplett raus. |
Re: Verlustfrei Bitmap verkleinern
Zitat:
|
Re: Verlustfrei Bitmap verkleinern
Zitat:
|
Re: Verlustfrei Bitmap verkleinern
oha :wall: sorry, mein fehler. hab etwas anders gedacht, als da steht ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 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