AW: Verzerrungen
@Walter:
Hier mal zur Demo der Interpolation:
ACHTUNG:
Bilder sind ausgetauscht!!!
Cash des Explorers kann noch die alten anzeigen.
Text mit FF getextet, mit Script verbogen
mittlerer Text mit FF getextet
oberer Text mit Antialiasing gezeichnet
mit pixelweiser Interpolation verbogen
unterer Text gebogen getextet (mit Antialiasuing)
Der Unterschied ist an den Kanten zu erkennen. Bei feinen Konturen ist der Effekt entsprechend deutlicher! Auch an den Würfelkanten ist ein kleiner Unterschied , das kann bei Photo aber meist tolleriert werden.
Für pixelweisen Zugriff kannst Du ja mal folgendes Script laufen lassen:
//FFSubmenu=HE-Tools
//FFName=Spiegel
//*************************************************************************
//**************************** Spiegelung *******************************
//*************************************************************************
//************ März 2013 ******************
//*************************************************************************
var orgW=FF_GetImageWidth();
var orgH=FF_GetImageHeight();
var L,C;
var Col;
var R,G,B;
if ((0==orgW) || (0==orgH))
{ FF_MessageBox("Kein Bild geladen",0)
}
else
{
for (L=(orgH - 1);L>=0;L--)
{
for (C=(orgW - 1) / 2 + 0.5;C>=0;C--)
{
Col=FF_GetPixel(orgW - 1 - C,L);
R=Col & 0xff;
G=(Col>>8) & 0xff;
B=(Col>>16) & 0xff;
Col=FF_GetPixel(C,L);
R=(R + (Col & 0xff)) / 2;
G=(G + ((Col>>8) & 0xff)) / 2;
B=(B + ((Col>>16) & 0xff)) / 2;
Col=R + (G<<8) + (B<<16);
FF_SetPixel(C,L,Col);
}
}
FF_ReLoad();
}
**********************************************************
Das macht nix sinnvolles (spiegelt nur die rechte in die linke Hälfte. Das gibts schon besser!
ABER: Das zeigt die Verzögerung beim Zugriff auf die Pixel!!!
Es werden immer 2 Pixel- Werte gemischt.
Im echten Fall der Bildbearbeitung müssten aber:
a) je 4 Pixel gemittelt werden (oder auch mehr)
b) Das Bild in der ganzen Breite verarbeitet.
Dann wird die Laufzeit noch deutlicher steigen.
UND: das Script macht noch nichtmal irgendwelche Geometrie- Berechnungen.
ALSO: Der Weg über die Pixel ist nur für rel. kleine Bilder gangbar. Du kannst ja mal mit verschiedenen Bildgrössen testen
Gruss
Frank
@Walter:
Hier mal zur Demo der Interpolation:
ACHTUNG:
Bilder sind ausgetauscht!!!
Cash des Explorers kann noch die alten anzeigen.
Text mit FF getextet, mit Script verbogen

mittlerer Text mit FF getextet
oberer Text mit Antialiasing gezeichnet
mit pixelweiser Interpolation verbogen
unterer Text gebogen getextet (mit Antialiasuing)

Der Unterschied ist an den Kanten zu erkennen. Bei feinen Konturen ist der Effekt entsprechend deutlicher! Auch an den Würfelkanten ist ein kleiner Unterschied , das kann bei Photo aber meist tolleriert werden.
Für pixelweisen Zugriff kannst Du ja mal folgendes Script laufen lassen:
//FFSubmenu=HE-Tools
//FFName=Spiegel
//*************************************************************************
//**************************** Spiegelung *******************************
//*************************************************************************
//************ März 2013 ******************
//*************************************************************************
var orgW=FF_GetImageWidth();
var orgH=FF_GetImageHeight();
var L,C;
var Col;
var R,G,B;
if ((0==orgW) || (0==orgH))
{ FF_MessageBox("Kein Bild geladen",0)
}
else
{
for (L=(orgH - 1);L>=0;L--)
{
for (C=(orgW - 1) / 2 + 0.5;C>=0;C--)
{
Col=FF_GetPixel(orgW - 1 - C,L);
R=Col & 0xff;
G=(Col>>8) & 0xff;
B=(Col>>16) & 0xff;
Col=FF_GetPixel(C,L);
R=(R + (Col & 0xff)) / 2;
G=(G + ((Col>>8) & 0xff)) / 2;
B=(B + ((Col>>16) & 0xff)) / 2;
Col=R + (G<<8) + (B<<16);
FF_SetPixel(C,L,Col);
}
}
FF_ReLoad();
}
**********************************************************
Das macht nix sinnvolles (spiegelt nur die rechte in die linke Hälfte. Das gibts schon besser!
ABER: Das zeigt die Verzögerung beim Zugriff auf die Pixel!!!
Es werden immer 2 Pixel- Werte gemischt.
Im echten Fall der Bildbearbeitung müssten aber:
a) je 4 Pixel gemittelt werden (oder auch mehr)
b) Das Bild in der ganzen Breite verarbeitet.
Dann wird die Laufzeit noch deutlicher steigen.
UND: das Script macht noch nichtmal irgendwelche Geometrie- Berechnungen.
ALSO: Der Weg über die Pixel ist nur für rel. kleine Bilder gangbar. Du kannst ja mal mit verschiedenen Bildgrössen testen
Gruss
Frank
Zuletzt bearbeitet: