well, dagcrack, if u want to make one in php, go ahead.... meanwhile, ive done mine in pb...... here it is:
Code: Select all
Enumeration
#EMail_text
#EMail_string
#change_font
#refresh_preview
#save
#image
#x_text
#x_spin
#y_text
#y_spin
#bg_color
EndEnumeration
Global fontid
Global fontname.s
Global fontsize
Global fontcolor
Global bgcolor
bgcolor = RGB(255,255,255)
fontname = "Arial"
fontsize = 16
If OpenWindow(0, 100, 200, 504, 306, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget, "Email Disguiser")
UsePNGImageEncoder()
UseJPEGImageEncoder()
;
; This is the 'event loop'. All the user actions are processed here.
; It's very easy to understand: when an action occurs, the EventID
; isn't 0 and we just have to see what have happened...
;
CreateGadgetList(WindowID())
TextGadget(#EMail_text,1,3,60,20,"Your Email:")
StringGadget(#EMail_string,61,1,200,20,"")
ButtonGadget(#change_font,1,21,100,20,"change font")
ButtonGadget(#refresh_preview, 102, 21, 100, 20, "refresh preview")
ButtonGadget(#bg_color, 203,21,150,20,"Change Background Colour")
ButtonGadget(#save,354,21,60,20,"save")
CreateImage(0,498,259)
StartDrawing(ImageOutput())
Box(0,0,498,259,bgcolor)
StopDrawing()
CreateImage(1,498,259)
StartDrawing(ImageOutput())
Box(0,0,498,259,bgcolor)
StopDrawing()
UseImage(0)
ImageGadget(#image, 1,42,498, 259, UseImage(0), #PB_Image_Border)
TextGadget(#x_text, 265, 3, 10,20,"X:")
SpinGadget(#x_spin, 276, 1, 35, 20, 0, 478)
TextGadget(#y_text, 314, 3, 10,20,"Y:")
SpinGadget(#y_spin, 325, 1, 35, 20, 0, 239)
SetGadgetState(#x_spin, 0)
SetGadgetText(#x_spin, "0")
SetGadgetState(#y_spin, 0)
SetGadgetText(#y_spin, "0")
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow ; If the user has pressed on the close button
Quit = 1
ElseIf eventid = #PB_Event_Gadget
Select EventGadgetID()
Case #change_font ; change font
result = FontRequester(fontname, fontsize, #PB_FontRequester_Effects, fontcolor)
If result
fontname = SelectedFontName()
fontsize = SelectedFontSize()
fontstyle = SelectedFontStyle()
fontcolor = SelectedFontColor()
fontid = LoadFont(0, fontname, fontsize, fontstyle)
If fontid
StartDrawing(ImageOutput())
Box(0,0,498,259,bgcolor)
DrawingMode(1)
FrontColor(Red(fontcolor), Green(fontcolor), Blue(fontcolor))
DrawingFont(fontid)
Locate(GetGadgetState(#x_spin), GetGadgetState(#y_spin))
DrawText(GetGadgetText(#EMail_string))
StopDrawing()
SetGadgetState(#image, UseImage(1))
SetGadgetState(#image, UseImage(0))
Else
MessageRequester("error", "could not load font", #MB_ICONERROR)
EndIf
EndIf
Case #refresh_preview ; refresh preview
fontid = LoadFont(0, fontname, fontsize, fontstyle)
If fontid
UseImage(0)
StartDrawing(ImageOutput())
Locate(0,0)
Box(0,0,498,259,bgcolor)
DrawingMode(1)
FrontColor(Red(fontcolor), Green(fontcolor), Blue(fontcolor))
DrawingFont(fontid)
Locate(Val(GetGadgetText(#x_spin)), Val(GetGadgetText(#y_spin)))
DrawText(GetGadgetText(#EMail_string))
StopDrawing()
SetGadgetState(#image, UseImage(1))
SetGadgetState(#image, UseImage(0))
Else
MessageRequester("error", "could not load font", #MB_ICONERROR)
EndIf
Case #x_spin
SetGadgetText(#x_spin,Str(GetGadgetState(#x_spin)))
WindowEvent() ; absolutely needed to avoid endless event-loops - ses the help file
Case #y_spin
SetGadgetText(#y_spin,Str(GetGadgetState(#y_spin)))
WindowEvent() ; absolutely needed to avoid endless event-loops - ses the help file
Case #bg_color
color = ColorRequester(bgcolor)
If color > -1
fontid = LoadFont(0, fontname, fontsize, fontstyle)
bgcolor = color
StartDrawing(ImageOutput())
Box(0,0,498,259,bgcolor)
DrawingMode(1)
FrontColor(Red(fontcolor), Green(fontcolor), Blue(fontcolor))
DrawingFont(fontid)
Locate(Val(GetGadgetText(#x_spin)), Val(GetGadgetText(#y_spin)))
DrawText(GetGadgetText(#EMail_string))
StopDrawing()
UseImage(1)
StartDrawing(ImageOutput())
Box(0,0,498,259,bgcolor)
StopDrawing()
UseImage(0)
SetGadgetState(#image, UseImage(1))
SetGadgetState(#image, UseImage(0))
EndIf
Case #save
saveto.s = SaveFileRequester("Save Image", "", "PNG File|*.png|JPEG File|*.jpg;*.jpeg|Bitmap File|*.bmp", 0)
If saveto = ""
Else
Select GetExtensionPart(saveto)
Case "png"
SaveImage(0, saveto, #PB_ImagePlugin_PNG)
Case "jpg"
SaveImage(0, saveto, #PB_ImagePlugin_JPEG)
Case "jpeg"
SaveImage(0, saveto, #PB_ImagePlugin_JPEG)
Case "bmp"
SaveImage(0, saveto, #PB_ImagePlugin_BMP)
Default
Select SelectedFilePattern()
Case 0 ; png
SaveImage(0, saveto+".png", #PB_ImagePlugin_PNG)
Case 1 ; jpeg
SaveImage(0, saveto+".jpg", #PB_ImagePlugin_JPEG)
Case 2 ; bmp
SaveImage(0, saveto+".bmp", #PB_ImagePlugin_BMP)
EndSelect
EndSelect
EndIf
EndSelect
EndIf
Until Quit = 1
EndIf
End