B4J Question ImagePattern

BeneBarros

Active Member
Licensed User
Longtime User
It is possible to use ImagePattern in JavaObject to complete a polygon?
If yes, could teach me how to do this?
Thank you.
 

Erel

B4X founder
Staff member
Licensed User
Longtime User
Creating an ImagePattern with JavaObject is quite simple:
B4X:
Dim ip As JavaObject
Dim img As Image = fx.LoadImage(...)
ip.InitializeNewInstance("javafx.scene.paint.ImagePattern", Array(img))
You will also need to create a shape:
B4X:
Sub AppStart (Form1 As Form, Args() As String)
   MainForm = Form1
   Dim ip As JavaObject
   Dim img As Image = fx.LoadImage(File.DirAssets, "asteroids.png")
   ip.InitializeNewInstance("javafx.scene.paint.ImagePattern", Array(img))
   Dim circle As JavaObject
   Dim radius As Double = 100
   circle.InitializeNewInstance("javafx.scene.shape.Circle", Array(radius))
   circle.RunMethod("setFill", Array(ip))
   MainForm.RootPane.AddNode(circle, 100, 100, 200, 200)
   MainForm.Show
End Sub


SS-2014-08-17_17.47.47.png
 
Upvote 0

BeneBarros

Active Member
Licensed User
Longtime User
Okay ..
I made a small change as he was returning an error :

Parsing code. 0.00
Compiling code. Error
Error compiling program.
Error description: 'as' expected.
Occurred on line: 20
ip.InitializeNewInstance("javafx.scene.paint.ImagePattern", Array (img))
Word: (

changed to
ip.InitializeNewInstance("javafx.scene.paint.ImagePattern", Array As Object (img))
circle.InitializeNewInstance("javafx.scene.shape.Circle", Array As Object(radius))

Now is working perfectly.

Thank you, and congratulations on service

Bene
 
Upvote 0
Top