====== Transparenz ====== \\ Die Möglichkeit Transparenz in FF-Skripten zu verwenden, soll an einem Skriptbeispiel gezeigt werden.\\ ====== ====== Walter Wichmann (Walter-46) hat ein Javaskript geschrieben, mit dem ein Bild verkleinert und gedreht in das Originalbild eingefügt wird.\\ \\ ====== ====== * Dazu wird eine Maske in der Größe des Originalbildes mit schwarzem Hintergrund erstellt, in der ein weißes, gedrehtes Rechteck in der verkleinerten Größe des Bildes eingefügt ist. * Dann wird das Originalbild verkleinert und gedreht. * Nach Tonwertkorrektur werden die beiden Bilder addiert. ===== Gedreht einfügen (js) ===== //FFSubmenu=Test //FFName=Gedreht einfügen //Idee und Realisation : Walter Wichmann (Walter-46) im Februar 2012 var xx=FF_GetImagewidth();var yy=FF_GetImageheight(); FF_PushImage();FF_PushImage(); //********** Maske erstellen : Innen schwarz + Außen weiss für Mixbild B **** FF_NewImage(xx, yy, 16777215);FF_Rotate(17,0,255); FF_HQScale(xx/3, yy/3,1) var xk=FF_GetImagewidth();var yk=FF_GetImageheight(); FF_ExtendCanvas((xx-xk)/2-3,(xx-xk)/2-3, (yy-yk)/2-3,(yy-yk)/2-3 ,255,0,0) FF_ExtendCanvas(3,3,3,3,128,0,64) FF_HQScale(xx, yy,0); FF_PushImage();FF_SpectralSaturation(360,350, 0); FF_Diff();FF_Monochrome(1,1,1);FF_Autocontrast(); FF_Negate();FF_Killmask();FF_Putmask();FF_PopImage(); //********** Mixbild A vorbereiten : kleines Bild innen + Umgebung schwarz ***** FF_PopImage(); FF_Rotate(17,0,0); FF_HQScale(xx/3, yy/3,1) FF_ExtendCanvas((xx-xk)/2,(xx-xk)/2, (yy-yk)/2,(yy-yk)/2 ,0,0,0) FF_HQScale(xx, yy,0); //********** Mixbild B vorbereiten ******************************* FF_SwapImage();FF_rgbgamma(0,1,0.5,0,0, 0,1,0.5,0,0, 0,1,0.5,0,0) FF_MixImage(0,0,xx,yy,-1); // addieren FF_PopImage(); FF_Reload(); ===== Gedreht einfügen (vbs) ===== Und hier noch die vbs-Version. Bei der wurden die Möglichkeiten mit den Befehlen 'FF_Rotate' und 'FF_ExtendCanvas' direkt schwarze Flächen zu erzeugen, genutzt und so das Skript etwas gekürzt. Außerdem wurden dem Drehwinkel und dem Verkleinerungsfaktor Konstanten zugewiesen, so dass mit diesen Werten experimentiert werden kann.\\ \\ 'FFSubmenu=Test 'FFName=Gedreht einfügen 'Idee und Realisation als Javaskript: Walter Wichmann (Walter-46) im Februar 2012 'Gekürzt durch Nutzung der Produktion von schwarzen Flächen mit den 'Befehlen 'FF_Rotate' und 'FF_ExtendCanvas' 'und übersetzt in ein VB-Skript: Harald Maeckler (Mecki14) im Februar 2012 '--------------------------------------------------------------------------- Option Explicit const dw = -30 'Drehwinkel, kann auch negativ sein const vk = 1 'Verkleinerung 1:vk (vk >= 1) Dim xx,yy,xk,yk '--------------------------------------------------------------------------- xx=FF_GetImagewidth yy=FF_GetImageheight FF_PushImage FF_PushImage '********** Maske erstellen : Innen weiß + Außen schwarz für Mixbild B ***** FF_NewImage xx, yy, 16777215 'Neues Bild mit Originalmaße in weiß FF_Rotate dw,0,0 'Drehen ohne Beschnitt, Hintergrund schwarz FF_HQScale xx/vk, yy/vk,true 'Verkleinern um Verkleinerungsfaktor ' dabei Seitenverhältnis beibehalten xk = FF_GetImagewidth yk = FF_GetImageheight FF_ExtendCanvas (xx-xk)/2,(xx-xk)/2,(yy-yk)/2,(yy-yk)/2,0,0,0 'Erweitern um schwarz auf Originalmaße FF_HQScale xx,yy,false 'Skalieren auf Originalmaße FF_Putmask '********** Mixbild A vorbereiten : kleines Bild innen + Umgebung schwarz ***** FF_PopImage 'Originalbild nach oben holen FF_Rotate dw,0,0 'Drehen ohne Beschnitt, Hintergrund schwarz FF_HQScale xx/vk,yy/vk,true 'Verkleinern um Verkleinerungsfaktor FF_ExtendCanvas (xx-xk)/2,(xx-xk)/2,(yy-yk)/2,(yy-yk)/2,0,0,0 'Erweitern um schwarz auf Originalmaße FF_HQScale xx, yy,false 'Skalieren auf Originalmaße ' ohne Rücksicht auf das Seitenverhältnis '********** Mixbild B vorbereiten und addieren ********************************* FF_SwapImage 'Original nach oben /verkl. Bild nach unten FF_rgbgamma 0,1,0.5,0,0, 0,1,0.5,0,0, 0,1,0.5,0,0 'Tonwertkorrektur + Begrenzung FF_MixImage 0,0,xx,yy,-1 'Addition der beiden Bilder FF_PopImage FF_Reload '---------------------------------------------------------------------------