Skip to content

Commit 21db9b3

Browse files
committed
add sickzil-machine
1 parent 27d112b commit 21db9b3

File tree

6 files changed

+245
-0
lines changed

6 files changed

+245
-0
lines changed

SickZilInpaint/SickZilInpaint.b4j

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
AppType=JavaFX
2+
Build1=Default,org.xulihang.imagetrans
3+
Group=Default Group
4+
Library1=jcore
5+
Library2=jfx
6+
Library3=json
7+
Library4=jxmlsax
8+
Library5=xmlbuilder
9+
Library6=jxui
10+
Library7=javaobject
11+
Library8=jokhttputils2
12+
Library9=jstringutils
13+
Module1=SickZilInpaintPlugin
14+
NumberOfFiles=0
15+
NumberOfLibraries=9
16+
NumberOfModules=1
17+
Version=7.8
18+
@EndOfDesignText@
19+
#Region Project Attributes
20+
#MainFormWidth: 600
21+
#MainFormHeight: 600
22+
#End Region
23+
24+
Sub Process_Globals
25+
Private fx As JFX
26+
Public MainForm As Form
27+
28+
End Sub
29+
30+
Sub AppStart (Form1 As Form, Args() As String)
31+
MainForm = Form1
32+
'MainForm.RootPane.LoadLayout("Layout1") 'Load the layout file.
33+
MainForm.Show
34+
Dim n As SickZilInpaintPlugin
35+
n.Initialize
36+
Dim origin As Image=fx.LoadImage(File.DirApp,"1.jpg")
37+
Dim mask As Image=fx.LoadImage(File.DirApp,"mask.png")
38+
wait for (n.inpaint(origin,mask)) complete (result As B4XBitmap)
39+
Dim out As OutputStream
40+
out=File.OpenOutput(File.DirApp,"removed.jpg",False)
41+
result.WriteToStream(out,100,"JPEG")
42+
out.Close
43+
End Sub
44+
45+
'Return true to allow the default exceptions handler to handle the uncaught exception.
46+
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
47+
Return True
48+
End Sub
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
ModuleBookmarks0=
2+
ModuleBookmarks1=
3+
ModuleBreakpoints0=
4+
ModuleBreakpoints1=
5+
ModuleClosedNodes0=
6+
ModuleClosedNodes1=
7+
NavigationStack=SickZilInpaintPlugin,Class_Globals,0,0,SickZilInpaintPlugin,GetNiceName,13,0,SickZilInpaintPlugin,Run,25,4,SickZilInpaintPlugin,Initialize,11,0,Main,AppStart,23,6,SickZilInpaintPlugin,inpaint,60,6
8+
SelectedBuild=0
9+
VisibleModules=1
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
B4J=true
2+
Group=Default Group
3+
ModulesStructureVersion=1
4+
Type=Class
5+
Version=4.2
6+
@EndOfDesignText@
7+
Sub Class_Globals
8+
Private fx As JFX
9+
End Sub
10+
11+
'Initializes the object. You can NOT add parameters to this method!
12+
Public Sub Initialize() As String
13+
Log("Initializing plugin " & GetNiceName)
14+
' Here return a key to prevent running unauthorized plugins
15+
Return "MyKey"
16+
End Sub
17+
18+
' must be available
19+
public Sub GetNiceName() As String
20+
Return "SickZilInpaint"
21+
End Sub
22+
23+
' must be available
24+
public Sub Run(Tag As String, Params As Map) As ResumableSub
25+
Log("run"&Params)
26+
Select Tag
27+
Case "inpaint"
28+
wait for (inpaint(Params.Get("origin"),Params.Get("mask"))) complete (result As B4XBitmap)
29+
Return result
30+
End Select
31+
Return ""
32+
End Sub
33+
34+
Sub inpaint(origin As B4XBitmap,mask As B4XBitmap) As ResumableSub
35+
Dim out As OutputStream
36+
out=File.OpenOutput(File.DirApp,"origin.jpg",False)
37+
origin.WriteToStream(out,"100","JPEG")
38+
out.Close
39+
Dim out As OutputStream
40+
out=File.OpenOutput(File.DirApp,"mask.png",False)
41+
mask.WriteToStream(out,"100","PNG")
42+
out.Close
43+
44+
Dim job As HttpJob
45+
job.Initialize("",Me)
46+
47+
Dim originFd As MultipartFileData
48+
originFd.Initialize
49+
originFd.KeyName = "origin"
50+
originFd.Dir = File.DirApp
51+
originFd.FileName = "origin.jpg"
52+
originFd.ContentType = "image/jpg"
53+
54+
Dim maskFd As MultipartFileData
55+
maskFd.Initialize
56+
maskFd.KeyName = "mask"
57+
maskFd.Dir = File.DirApp
58+
maskFd.FileName = "mask.png"
59+
maskFd.ContentType = "image/png"
60+
61+
job.PostMultipart("http://127.0.0.1:8080/gettxtremoved",Null, Array(originFd,maskFd))
62+
job.GetRequest.Timeout=240*1000
63+
Wait For (job) JobDone(job As HttpJob)
64+
If job.Success Then
65+
Try
66+
Dim result As B4XBitmap=job.GetBitmap
67+
Return result
68+
Catch
69+
Log(LastException)
70+
End Try
71+
End If
72+
Return origin
73+
End Sub

SickZilMaskGen/SickZilMaskGen.b4j

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
AppType=JavaFX
2+
Build1=Default,org.xulihang.imagetrans
3+
Group=Default Group
4+
Library1=jcore
5+
Library2=jfx
6+
Library3=json
7+
Library4=jxmlsax
8+
Library5=xmlbuilder
9+
Library6=jxui
10+
Library7=javaobject
11+
Library8=jokhttputils2
12+
Library9=jstringutils
13+
Module1=SickZilMaskGenPlugin
14+
NumberOfFiles=0
15+
NumberOfLibraries=9
16+
NumberOfModules=1
17+
Version=7.8
18+
@EndOfDesignText@
19+
#Region Project Attributes
20+
#MainFormWidth: 600
21+
#MainFormHeight: 600
22+
#End Region
23+
24+
Sub Process_Globals
25+
Private fx As JFX
26+
Public MainForm As Form
27+
28+
End Sub
29+
30+
Sub AppStart (Form1 As Form, Args() As String)
31+
MainForm = Form1
32+
'MainForm.RootPane.LoadLayout("Layout1") 'Load the layout file.
33+
MainForm.Show
34+
Dim n As SickZilMaskGenPlugin
35+
n.Initialize
36+
Dim img As Image=fx.LoadImage(File.DirApp,"1.jpg")
37+
wait for (n.genMask(img)) complete (result As B4XBitmap)
38+
Dim out As OutputStream
39+
out=File.OpenOutput(File.DirApp,"mask.png",False)
40+
result.WriteToStream(out,100,"PNG")
41+
out.Close
42+
End Sub
43+
44+
'Return true to allow the default exceptions handler to handle the uncaught exception.
45+
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
46+
Return True
47+
End Sub
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
ModuleBookmarks0=
2+
ModuleBookmarks1=
3+
ModuleBreakpoints0=
4+
ModuleBreakpoints1=
5+
ModuleClosedNodes0=
6+
ModuleClosedNodes1=
7+
NavigationStack=SickZilMaskGenPlugin,GetNiceName,13,0,SickZilMaskGenPlugin,Run,19,2,SickZilMaskGenPlugin,Class_Globals,0,0,SickZilMaskGenPlugin,genMask,51,6,Main,Process_Globals,9,0,Main,AppStart,21,6
8+
SelectedBuild=0
9+
VisibleModules=1
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
B4J=true
2+
Group=Default Group
3+
ModulesStructureVersion=1
4+
Type=Class
5+
Version=4.2
6+
@EndOfDesignText@
7+
Sub Class_Globals
8+
Private fx As JFX
9+
End Sub
10+
11+
'Initializes the object. You can NOT add parameters to this method!
12+
Public Sub Initialize() As String
13+
Log("Initializing plugin " & GetNiceName)
14+
' Here return a key to prevent running unauthorized plugins
15+
Return "MyKey"
16+
End Sub
17+
18+
' must be available
19+
public Sub GetNiceName() As String
20+
Return "SickZilMaskGen"
21+
End Sub
22+
23+
' must be available
24+
public Sub Run(Tag As String, Params As Map) As ResumableSub
25+
Log("run"&Params)
26+
Select Tag
27+
Case "genMask"
28+
wait for (genMask(Params.Get("img"))) complete (result As B4XBitmap)
29+
Return result
30+
End Select
31+
Return ""
32+
End Sub
33+
34+
Sub genMask(img As B4XBitmap) As ResumableSub
35+
Dim out As OutputStream
36+
out=File.OpenOutput(File.DirApp,"image.jpg",False)
37+
img.WriteToStream(out,"100","JPEG")
38+
out.Close
39+
Dim job As HttpJob
40+
job.Initialize("",Me)
41+
Dim fd As MultipartFileData
42+
fd.Initialize
43+
fd.KeyName = "upload"
44+
fd.Dir = File.DirApp
45+
fd.FileName = "image.jpg"
46+
fd.ContentType = "image/jpg"
47+
job.PostMultipart("http://127.0.0.1:8080/getmask",Null, Array(fd))
48+
job.GetRequest.Timeout=240*1000
49+
Wait For (job) JobDone(job As HttpJob)
50+
If job.Success Then
51+
Try
52+
Dim result As B4XBitmap=job.GetBitmap
53+
Return result
54+
Catch
55+
Log(LastException)
56+
End Try
57+
End If
58+
return img
59+
End Sub

0 commit comments

Comments
 (0)