Drawing¶
The drawing file holds TMufasaBitmap drawing functions to aid drawing onto bitmaps.
The source for this file can be found here <https://github.com/SRL/SRL/blob/master/shared/drawing.simba>.
const __SHADOW_COLOR¶
Integer constant that stores the shadow color for adding a shadow for text drawing.
TMufasaBitmap.Clear¶
procedure TMufasaBitmap.Clear();
Will clear the entire TMufasaBitmap
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.Clear();
TMufasaBitmap.ClearArea¶
procedure TMufasaBitmap.ClearArea(area: TBox);
Will clear the desired area of the TMufasaBitmap
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.ClearArea(intToBox(5, 5, 10, 10));
TMufasaBitmap.ClearAllBut¶
procedure TMufasaBitmap.ClearAllBut(Area: TBox);
Will clear the image, except for the given area.
TMufasaBitmap.AvgBrightness¶
procedure TMufasaBitmap.AvgBrightness();
Returns a value between 0 and 100 that defines how bright the image is.
TMufasaBitmap.PeakBrightness¶
procedure TMufasaBitmap.PeakBrightness();
Returns the maximum brightness in the image in the range 0..100.
TMufasaBitmap.DrawBox¶
procedure TMufasaBitmap.DrawBox(box: TBox; fill: boolean; color: TColor);
Draws a TBox onto the TMufasaBitmap
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.DrawBox(intToBox(50, 50, 345, 345), false, clLime);
TMufasaBitmap.DrawBox¶
procedure TMufasaBitmap.DrawBox(pt:TPoint; Radius:UInt32; Fill: Boolean; color: TColor);
Draws a TBox onto the TMufasaBitmap
TMufasaBitmap.DrawBox¶
procedure TMufasaBitmap.DrawBox(box:TBox; color:TColor = clRed); overload;
Overloaded function, will draw the outline of the “box” and includes a optional color parameter (default red).
Note
- by Ollybest
- Last Updated: 19 August 2013 by Ollybest
Example:
bmp.DrawBox(IntToBox(50, 50, 345, 345));
TMufasaBitmap.DrawBox; overload¶
procedure TMufasaBitmap.DrawBox(x1,y1,x2,y2:Integer; fill:Boolean; color:TColor); overload;
Draws a box using the x1, y1, x2, y2 parameters, will fill if ‘fill’ is set to true using color ‘color’.
Note
- by Olly
- Last Updated: 29 October 2013 by Olly
Example:
bmp.DrawBox(Box(50, 50, 345, 345));
TMufasaBitmap.DrawClippedBox¶
procedure TMufasaBitmap.DrawClippedBox(box: TBox; fill: boolean; color: TColor); overload;
Same as the other TMufasaBitmap.DrawBox but is clipped so it won’t draw off the bounds of the bitmap.
Note
- by Olly
- Last Updated: 29 October 2013 by Olly
Example:
image.DrawClippedBox(Box(50, 50, 100, 100), true, clLime);
TMufasaBitmap.DrawBoxes¶
procedure TMufasaBitmap.DrawBoxes(boxArr: TBoxArray; fill: boolean; color: TColor);
Draws a TBoxArray onto the TMufasaBitmap.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.DrawBoxes([Box(10, 10, 20, 20), Box(50, 50, 250, 250),
Box(440, 440, 600, 600)], true, clRed);
TMufasaBitmap.DrawBoxes; overload¶
procedure TMufasaBitmap.DrawBoxes(boxArr: TBoxArray; fill: boolean; colors: TColorArray); overload;
Same as TMufasaBitmap.DrawBoxes() but accepts a extra paramter that allows a color for each box.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.DrawBoxes([Box(10, 10, 20, 20), Box(50, 50, 250, 250),
Box(440, 440, 600, 600)], true, [clRed, clLime, clOrange]);
TMufasaBitmap.DrawRect¶
procedure TMufasaBitmap.DrawRect(Rect: TRectangle; color: TColor);
Draws a TRectangle onto the TMufasaBitmap
TMufasaBitmap.DrawPoly¶
procedure TMufasaBitmap.DrawPoly(Poly: TPointArray; color: TColor);
Draws a polygon onto the TMufasaBitmap
TMufasaBitmap.DrawBitmap¶
procedure TMufasaBitmap.DrawBitmap(bmp: Integer; pnt: TPoint);
Draws a bitmap onto the TMufasaBitmap at the desired point.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.DrawBitmap(bmp, point(50, 50));
TMufasaBitmap.DrawBitmap; overload¶
function TMufasaBitmap.DrawBitmap(path: string; pt: TPoint): boolean; overload;
Same as TMufasaBitmap.DrawBitmap but will load a bitmap from a file specified by the paramter “path”, will return if succesful or not.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.DrawBitmap('simba/scripts/foo.png', point(11, 11));
TMufasaBitmap.DrawCross¶
procedure TMufasaBitmap.DrawCross(pt: TPoint; size: Integer; color: TColor);
Draws a cross on the TMufasaBitmap at the TPoint pt
with the desired size.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.DrawCross(Point(200, 200), 4, clLime);
TMufasaBitmap.DrawEllipse¶
procedure TMufasaBitmap.DrawEllipse(const pnt: TPoint; const xRadius, yRadius: Integer; const fill: boolean; const color: TColor);
Draws an ellipse on the TMufasaBitmap defined by ‘pnt’, ‘xRadius’, and ‘yRadius’. If ‘fill’ is true it will fill the ellipse, otherwise it draws just the border.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.DrawEllipse(point(500, 500), 20, 50, true, clLime);
TMufasaBitmap.DrawCircle¶
procedure TMufasaBitmap.DrawCircle(pnt: TPoint; radius: Integer; fill: boolean; color: TColor);
Draws a circle on the TMufasaBitmap defined by ‘pnt’ and ‘radius’. If ‘fill’ is true it will fill the circle, otherwise it draws just the border.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.DrawCircle(point(500, 500), 50, false, clLime);
TMufasaBitmap.DrawPolygon¶
procedure TMufasaBitmap.DrawPolygon(polygonPnts: TPointArray; color: TColor);
Draws a line between all the points(polygonPnts) to draw a polygon-like shape on the TMufasaBitmap.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.DrawPolygon([point(10, 10), point(100, 100), point(500, 500), point(230, 555)], clLime);
TMufasaBitmap.DrawClippedText¶
procedure TMufasaBitmap.DrawClippedText(txt: string; pt: TPoint; font: string; shadow: boolean; color: TColor);
Same as drawText, but is clipped so it won’t draw off the bounds of the bitmap.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.DrawClippedText('hello world!', point(55, 55), 'StatChars', true, clLime);
TMufasaBitmap.DrawTextArray¶
procedure TMufasaBitmap.DrawTextArray(txtArr: TStringArray; pts: TPointArray; font: string; shadow: boolean; color: TColor);
Draws an array of text on the TMufasaBitmap, each index in the textArr will be be drawn at the same point in the pnt array.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.drawTextArray(['hello', 'world'], [point(50, 50), point(100, 111)], bigchars, false, clBlue);
TMufasaBitmap.DrawTextLines¶
procedure TMufasaBitmap.DrawTextLines(txtArr: TStringArray; pnt: TPoint; font: string; shadow: boolean; color: TColor);
Draws text onto the TMufasaBitmap, each index in the txtArr is put on a different line.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.drawTextLines(['olly', 'is', 'the', 'best', ':D'], point(2, 2), statChars, false, clRed);
TMufasaBitmap.Debug¶
procedure TMufasaBitmap.Debug();
Will display the TMufasaBitmap in Simba’s debug image form. Note: will only work if the bitmap is managed by Simba
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
Image.Debug();
// or for a non TMufasaBitmap
GetMufasaBitmap(bitmap).Debug();
TMufasaBitmap.DebugEx¶
procedure TMufasaBitmap.DebugEx(SetManaged: Boolean=True; MinSize: Int32=128); constref;
Will display the TMufasaBitmap in Simba’s debug image form. Note that if the
bitmap isn’t managed by Simba it will be added if SetManaged
is True
.
Alterantive parameter MinSize
is used to better display small images.
Example:
- pascal::
- Image.DebugEx(); // or for a non TMufasaBitmap GetMufasaBitmap(bitmap).DebugEx();
TMufasaBitmap.UpdateDebugImage¶
procedure TMufasaBitmap.UpdateDebugImage();
Will update Simba’s debug image form with the current image.
TMufasaBitmap.DebugTPA¶
procedure TMufasaBitmap.DebugTPA(tpa: TPointArray; drawPoints: boolean = true);
Will debug a TPointArray onto the TMufasaBitmap, parameter drawPoints is a optional parameter and by default is enabled, if enabled it will draw the points in the array.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.DebugTPA(tpa);
TMufasaBitmap.DebugATPA¶
procedure TMufasaBitmap.DebugATPA(const ATPA: T2DPointArray);
Will debug a T2DPointArray onto the TMufasaBitmap.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.DebugATPA(ATPA);
TMufasaBitmap.DebugDTM¶
procedure TMufasaBitmap.DebugDTM(dtm: Integer; area: TBox; color: TColor);
Will search for the dtm in the desired area, drawing a cross at each point that is found.
Note
- by Ollybest
- Last Updated: 19 July 2013 by Ollybest
Example:
image.DebugDTM(myDTM, mainScreen.getBounds(), clRed);