Professional Documents
Culture Documents
Set Talk Off
Set Talk Off
CLOSE ALL
CLEAR ALL
RETURN
PROCEDURE Convert
LOCAL x, Y, tinggi, lebar
x = CREATEOBJECT('form')
x.CAPTION="Konversi Grafis"
x.ALWAYSONTOP=.T.
x.WIDTH=644
x.HEIGHT=500
x.BACKCOLOR = RGB(255,255,255)
x.ADDOBJECT('Gambar','Image')
Y = x.Gambar
Y.PICTURE = THIS.FileGambar
IF (Y.WIDTH>640) .OR. (Y.HEIGHT>480)
IF (Y.WIDTH>Y.HEIGHT)
lebar=640
tinggi=(640*(Y.HEIGHT/Y.WIDTH))+1
ELSE
tinggi=480
lebar=(480*(Y.WIDTH/Y.HEIGHT))+1
ENDIF
Y.STRETCH = 1
Y.WIDTH=lebar
Y.HEIGHT=tinggi
ELSE
Y.STRETCH = 0
ENDIF
Y.MOVE(1,1)
Y.VISIBLE = .T.
x.ADDOBJECT("Lab1","Label")
x.lab1.BACKSTYLE=0
x.lab1.AUTOSIZE=.T.
x.lab1.CAPTION="Silakan tunggu, konversi grafis sedang dalam proses ..."
x.lab1.FONTSIZE=10
x.lab1.FONTBOLD=.T.
x.lab1.TOP=482
x.lab1.LEFT=5
x.lab1.VISIBLE=.T.
tinggi=FLOOR(Y.HEIGHT/THIS.Ukuran)
lebar=FLOOR(Y.WIDTH/THIS.Ukuran)
x.SHOW()
hitung=0
FOR a=1 TO THIS.Ukuran
FOR b=1 TO THIS.Ukuran
IF !((a=THIS.Ukuran) AND (b=THIS.Ukuran))
hitung = hitung + 1
IF hitung<10
chitung="0"+STR(hitung,1)
ELSE
chitung=STR(hitung,2)
ENDIF
THIS.BuildBMP(x,THIS.FileBMP+chitung+".BMP",Y.LEFT+((b-1)*lebar),Y.LEFT+
(b*lebar),Y.TOP+((a-1)*tinggi),Y.TOP+(a*tinggi))
ENDIF
ENDFOR
ENDFOR
WAIT WINDOW "Konversi Grafis selesai" NOWAIT
x.RELEASE
ENDPROC
PROCEDURE BuildBMP
LPARAMETERS toForm, tcFile, tnX1, tnX2, tnY1, tnY2
LOCAL nX1, nX2, nY1, nY2, nWidth, nHeight, nPixels, i, j, cBMP, cColArray,cPad
nX1 = THIS.TVL(tnX1, 0)
nX2 = THIS.TVL(tnX2, toForm.WIDTH-1)
nY1 = THIS.TVL(tnY1, 0)
nY2 = THIS.TVL(tnY2, toForm.HEIGHT-1)
nWidth = nX2 - nX1 + 1
cPad = REPLICATE(CHR(0),MOD(nWidth,4))
BORDERSTYLE = 1
HEIGHT = 90
WIDTH = 100
Posisi = (0)
NAME = "potongan"