Deutsch
Forum

Probleme beim Verkleinern und Blur

 

MaLenz
Mahlzeit !

Ich hab derzeit folgendes Problem ...

Ich möchte ein Bild unsichtbar darstellen, dass vorher Unscharf gemacht wurde, doch leider verändert sich dann auch die Hintergrundfarbe zum teil, und es ist nicht mehr komplett transparent darzustellen . Da ich möchte dass die Funktion an der ich schreibe vielseitig einsetzbar ist, fällt die Möglichkeit aus, eine Kopie des Orts wo das Bild hinsoll, als Hintergrund für das Bild vor dem Unscharfeffekt, einzusetzen . Ich benutz zum Beispiel u.a. einen Ticker, und der Ticker im Bild würde stillstehen, während er ausserhalb des Bildes aber läuft .

Ach und noch was, gibt es eine Möglichkeit eine Art Faktor mit einzubeziehen, der beim Verkleinern eines Bildes berücksichtigt wird ? Bei Paint Shop Pro kann man zum Beispiel Verkleinern in Form von Smart, Bilinear, Kubisch und Pixel . Ich bräuchte Smart, denn das was ich mit der DLL derzeit hinbekomm ist alles a bissl zu grob .

:rolleyes:

MFG Marco
 
Zucker ist gut gegen Zähne
15.11.2004  
 



Also wenn Du mir genau beschreibst was Dir fehlt integriere ich entsprechende Funktionen in die Psa.Dll.

Salve, iF
 
15.11.2004  
 




Frank
Abbing
Hi.

Die Dll bietet doch gar keine Verkleinerungsfunktion ?
Dazu bietet die Windows-GDI schon eine gute und schnelle Funktion...

[quote:74d63e301a]Ich möchte ein Bild unsichtbar darstellen, dass vorher Unscharf gemacht wurde, doch leider verändert sich dann auch die Hintergrundfarbe zum teil, und es ist nicht mehr komplett transparent darzustellen . Da ich möchte dass die Funktion an der ich schreibe vielseitig einsetzbar ist, fällt die Möglichkeit aus, eine Kopie des Orts wo das Bild hinsoll, als Hintergrund für das Bild vor dem Unscharfeffekt, einzusetzen . Ich benutz zum Beispiel u.a. einen Ticker, und der Ticker im Bild würde stillstehen, während er ausserhalb des Bildes aber läuft . [/quote:74d63e301a]
Hmm, so eine Art Sharpen() mit Transparenz-Maske...
Dazu fällt mir ein, das du die Transparenzfarbe vor dem Sharpen() mit ExchangeColor() ganz weiß oder ganz schwarz machst und später wieder zurück färbst...?
 
15.11.2004  
 




MaLenz
@If
Ich bräuchte eine Art Modus der ein Bild unscharf macht, jedoch einen bestimmte Farbe so lässt wie sie ist .

Folgendes, ich hab ein Bild mit einem Trikot drauf . Auf dieses Trikot pack ich ein Logo . Damit diese Logo weicher wirkt, benutze ich die Blur-Funktion . Nun passiert es aber dass alle Farben ausserhalb des Trikots auch anders gezeichnet werden, und ich dieses Bild nicht mehr transparent darstellen kann . Es geht auch vom logischen her nicht, wenn ich über dieses Bild nochmal so eine Art Rahmen packe, da der Pixel oben rechts ja in dem Moment nicht mehr ankommen würde, da der Inhalt des Rahmens schon transparent gezeichnet werden müsste, sonst wird ja das Trikot überdeckt .

Ach ja, und ich hatte dir mal ne EMail geschickt wegen PSA und PSA3d . Kam die an ? Hätte wirklich gern mal das aktuelle, komplette PSA Paket, um mal zu sehen ob ich es in etwa für ein In-Game Engine verwenden könnte .

@FAbbing
Ich arbeite mit SizeExtBmp (Z,X1,Y1,B1,H1,Q,X2,Y2,B2,H2,K) um dat dingens zusätzlich zu verkleinern . Wenn Du mir eine schnelle Möglichkeit anbieten kannst mit der GDI um ein Bild in smarter Form verkleinert zu bekommen, wär ich dankbar .

MFG Marco ~~
 
Zucker ist gut gegen Zähne
15.11.2004  
 



Ich werd ein aktuelles psa Packet demnächst in die Community stellen. Dann kann ich auch sicher auf Grundlage eines Beispielsources von Dir die entsprechende Function bauen.

Salve, iF
 
15.11.2004  
 




Frank
Abbing
Hi.

[quote:6e40858204]@FAbbing
Ich arbeite mit SizeExtBmp (Z,X1,Y1,B1,H1,Q,X2,Y2,B2,H2,K) um dat dingens zusätzlich zu verkleinern . Wenn Du mir eine schnelle Möglichkeit anbieten kannst mit der GDI um ein Bild in smarter Form verkleinert zu bekommen, wär ich dankbar . [/quote:6e40858204]
SizeExtBmp() nutzt schon die sehr schnelle GDI-Funktion StretchBlt(). Zuvor wird mit SetStretchBltMode() der Verkleinerungs/Vergrößerungs-Modus eingestellt auf COLORONCOLOR.
Du könntest die API in deinem Programm selber benutzen, mittels eines anderen Modus. GDI bietet hierzu:

    BLACKONWHITE
    Performs a Boolean AND operation using the color values for the eliminated and existing pixels. If the bitmap is a monochrome bitmap, this mode preserves black pixels at the expense of white pixels.

    COLORONCOLOR
    Deletes the pixels. This mode deletes all eliminated lines of pixels without trying to preserve their information.

    HALFTONE
    Maps pixels from the source rectangle into blocks of pixels in the destination rectangle. The average color over the destination block of pixels approximates the color of the source pixels.
    After setting the HALFTONE stretching mode, an application must call the SetBrushOrgEx function to set the brush origin. If it fails to do so, brush misalignment occurs.

    WHITEONBLACK
    Performs a Boolean OR operation using the color values for the eliminated and existing pixels. If the bitmap is a monochrome bitmap, this mode preserves white pixels at the expense of black pixels.
Probier ruhig herum, besonders HALFTONE könnte die Qualität verbessern, auch wenn es die Geschwindigkeit herab setzt.
 
16.11.2004  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

3.809 Betrachtungen

Unbenanntvor 0 min.
Sven Bader16.11.2021

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

Frank Abbing (2x)
unbekannt (2x)
MaLenz (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie