Sub ResizeImage(original As Bitmap, TargetX As Int, TargetY As Int) As Bitmap
Dim origRatio As Float = original.Width / original.Height
Dim targetRatio As Float = TargetX / TargetY
Dim scale As Float
If targetRatio > origRatio Then
scale = TargetY / original.Height
Else
scale = TargetX / original.Width
End If
Dim c As Canvas
Dim b As Bitmap
b.InitializeMutable(TargetX, TargetY)
c.Initialize2(b)
'set the background
c.DrawColor(Colors.LightGray)
Dim r As Rect
Dim w = original.Width * scale, h = original.Height * scale As Int
r.Initialize(TargetX / 2 - w / 2, TargetY / 2 - h / 2, TargetX / 2 + w / 2, TargetY / 2+ h / 2)
c.DrawBitmap(original, Null, r)
Return b
End Sub
You should use ABExtDrawing library and call Paint.setFilterBitmap (True).
I'm aware, my issue is this:The code should be almost identical. You should use ABExtDrawing.drawBitmap instead of Canvas.DrawBitmap and pass the Paint object.
Dim ExtDraw As ABExtDrawing
Dim paint As ABPaint
paint.setFilterBitmap(True)
paint.SetAntiAlias(True)
ExtDraw.drawBitmap(C, original, Null, R, paint)
return b
An error has occurred in sub: main_resizeimage (java line: 1301)
java.lang.NullPointerException
Continue?
paint.Initialize()
Sub ResizeImage(original As Bitmap, TargetX As Int, TargetY As Int) As Bitmap
Dim origRatio As Float = original.Width / original.Height
Dim targetRatio As Float = TargetX / TargetY
Dim scale As Float
If targetRatio > origRatio Then
scale = TargetY / original.Height
Else
scale = TargetX / original.Width
End If
Dim c As Canvas
Dim b As Bitmap
b.InitializeMutable(TargetX, TargetY)
c.Initialize2(b)
'set the background
c.DrawColor(Colors.LightGray)
Dim r As Rect
Dim w = original.Width * scale, h = original.Height * scale As Int
r.Initialize(TargetX / 2 - w / 2, TargetY / 2 - h / 2, TargetX / 2 + w / 2, TargetY / 2+ h / 2)
'c.DrawBitmap(original, Null, r)
Dim ExtDraw As ABExtDrawing
Dim paint As ABPaint
paint.Initialize
paint.setFilterBitmap(True)
paint.SetAntiAlias(True)
ExtDraw.drawBitmap(c, original, Null, r, paint)
Return b
End Sub
Parsing code. 1.21
Compiling code. 0.79
Compiling layouts code. 0.01
Generating R file. 4.66
Compiling generated Java code. Error
B4A line: 1563
End Sub
javac 1.6.0_26
src\Scantech\CarGaugePro\main.java:21497: cannot find symbol
symbol : class AB
location: class Scantech.CarGaugePro.com
com.AB.ABExtDrawing.ABExtDrawing _extdraw = null;
^
1 error
Do you have a module named 'com' in your project?