Example: /GraphicsMagick/GraphicsMagick/Console Text Drawing/Draw text in Console

Online Documentation   -   Statistics   -   FAQ   -   Plugin Parts (All, Dependencies)   -   Class hierarchy

New in Version 22.2 22.3 22.4 22.5 23.0 23.1 23.2 23.3 23.4 23.5 24.0 24.1

The list of the   topics,   classes,   interfaces,   controls,   modules,   global methods by category,   global methods by name,   screenshots,   licenses   and   examples.

Platforms to show: All Mac Windows Linux Cross-Platform

/GraphicsMagick/GraphicsMagick/Console Text Drawing/Draw text in Console


Required plugins for this example: MBS GraphicsMagick Plugin

You find this example project in your Plugins Download as a Xojo project file within the examples folder: /GraphicsMagick/GraphicsMagick/Console Text Drawing/Draw text in Console

This example is the version from Sun, 15th May 2021.

Project "Draw text in Console.xojo_binary_project"
Class App Inherits ConsoleApplication
Const stBold = 1
Const stItalic = 4
Const stUnderline = 2
EventHandler Function Run(args() as String) As Integer // if you run in the RB IDE you get folders, so we need to move up dim projectfolder as FolderItem = SpecialFolder.Desktop dim f as FolderItem = projectfolder.Child("test.db") dim d as new REALSQLDatabase d.DatabaseFile = f if d.Connect then db = d dim g as new GMGeometryMBS(500,500) dim c as new GMColorRGBMBS("white") // white dim image as new GMImageMBS(g, c) image.strokeColor = new GMColorRGBMBS("red") // Outline color image.fillColor = new GMColorRGBMBS("green") // Fill color image.strokeWidth = 5 dim draw as GMGraphicsMBS = image.Graphics // Draw a circle draw.Circle(250, 250, 120, 150) draw.Draw WriteText image, 30,30, "Hello World", "Times", 24, stBold WriteText image, 30, 430, "Hello World normal", "Monaco", 12, 0 WriteText image, 230, 430, "Hello World italic", "Monaco", 12, stBold WriteText image, 30, 470, "Hello World underline", "Times", 12, 0 WriteText image, 230, 470, "Hello World bold", "Times", 12, stBold dim file as FolderItem = projectfolder.Child("output.jpg") image.quality = 100 image.magick = "JPEG" image.write(file) else print "Failed to open letter database." end if End EventHandler
Private Function WriteLetter(image as GMImageMBS, x as integer, y as integer, letter as string, font as string, size as integer, style as integer) As integer dim r as RecordSet = db.SQLSelect("select data from letter where code="+str(asc(letter))+" and font="""+font+""" and size="+str(size)+" and style="+str(style)) if r<>Nil and not r.EOF then dim data as string = r.Field("data").StringValue dim b as new GMBlobMBS(data) dim g as new GMGeometryMBS dim img as new GMImageMBS(b,g,"PNG") if img.isValid then call image.compositeXY(img, x, y, GMImageMBS.CopyCompositeOp) Return img.width end if end if End Function
Private Sub WriteText(image as GMImageMBS, x as integer, y as integer, text as string, font as string, size as integer, style as integer) text = ConvertEncoding(text, encodings.utf8) dim c as integer = len(text) for i as integer = 1 to c dim dx as integer = WriteLetter(image, x, y, mid(text,i,1), font, size, style) x = x + dx next End Sub
Property Private db As REALSQLDatabase
End Class
End Project

See also:

The items on this page are in the following plugins: MBS GraphicsMagick Plugin.


💬 Ask a question or report a problem