/* Rotazione di 360 gradi con dissolvenza tra due immagini in 50 FRAMES */ ADDRESS "ADPro" OPTIONS RESULTS TRUE = 1 FALSE = 0 TmpIma = 'T:immagine' TmpIma2 = 'T:immagine2' Provvisorio = 'T:Provvisorio' DISSOLVE = 98 DISSOLVE2 = 2 NUMEROFRAME = 0 GETFILES '"Seleziona la PRIMA immagine"' IF RC ~= 0 THEN EXIT PRIMA = ADPRO_RESULT IF PRIMA = "" THEN EXIT LOADER "UNIVERSAL" PRIMA XSIZE BASE = ADPRO_RESULT YSIZE ALTZ = ADPRO_RESULT SAVER "IFF" TmpIma "RAW" CENTROX = ((BASE / 2) + 0.5) CX = TRUNC(CENTROX) CENTROY = ((ALTZ / 2) + 0.5) CY = TRUNC(CENTROY) AM1 = 5 AM2 = 10 GETFILES '"Seleziona la SECONDA immagine"' IF RC ~= 0 THEN EXIT SECONDA = ADPRO_RESULT IF SECONDA = "" THEN EXIT LOADER "UNIVERSAL" SECONDA XSIZE BASE2 = ADPRO_RESULT YSIZE ALTZ2 = ADPRO_RESULT IF (BASE2 > BASE) | (ALTZ2 > ALTZ) THEN DO ABS_SCALE (BASE) (ALTZ) END IF (BASE2 < BASE) | (ALTZ2 < ALTZ) THEN DO ABS_SCALE (BASE) (ALTZ) END SAVER "IFF" TmpIma2 "RAW" GETfile '"Path e nomebase 50 frames elaborati"' IF RC ~= 0 THEN EXIT OUTFILE = ADPRO_RESULT if OUTFILE = "" then exit DO i=1 to 50 LOADER "IFF" TmpIma OPERATOR Rotate CENTER (CX) (CY) RADIUS (ALTZ) AMOUNT (AM1) BLUR_RADIUS 0 QUALITY_HIGH SAVER "IFF" Provvisorio "RAW" LOADER "IFF" TmpIma2 OPERATOR Rotate CENTER (CX) (CY) RADIUS (ALTZ) AMOUNT (AM2) BLUR_RADIUS 0 QUALITY_HIGH AM1 = (AM1 + 7) AM2 = (AM2 + 7) LOADER "IFF" Provvisorio COMPOFFSET 0 0 (DISSOLVE) DISSOLVE = (DISSOLVE - DISSOLVE2) NUMEROFRAME = (NUMEROFRAME + 1) NUMERO = RIGHT(NUMEROFRAME,3,'0') SAVER "IFF" (OUTFILE)||'.'||(NUMERO) "RAW" SAY "Salvo il frame Num." NUMERO END ADDRESS COMMAND "Delete >NIL:" TmpIma ADDRESS COMMAND "Delete >NIL:" TmpIma2 ADDRESS COMMAND "Delete >NIL:" Provvisorio EXIT