AltSoftLab

Be Individuality - Choose Alternative ©

AltSketch Unity Windows Phone Android (MonoDroid) iOS (MonoTouch)AltSketch Microsoft Silverlight XNA MonoGame     AltSketch Windows Forms Mono GTK (the GIMP Toolkit)   

In this topic we present the graphics sub asset of AltSDK that allows you to easy draw vector graphics, print text with platform independant C# FreeType library, image I/O manipulations, work with resources virtual file system, etc. You can use this features directly on screen or on Unity UI (uGUI) and NGUI controls. Also these features can be used without any GUI (just draw in memory bitmaps).

AltSketch main features:
  • Fast realtime Raster and Vector Text Render based on AltNETType (C# port of full FreeType font render engine)
  • Pens with different styles (solid, dotted, etc.) for drawing any geometries
  • Brushes with different styles (solid, gradient, image, hatch, user defined material, etc.) for filling any geometries
  • Boolean operations on geometries
  • Programmable geometries (geometry generation by algorithm)
  • Image IO operations with different formats (PNG, Jpeg, animated GIF, BMP, Tiff, TGA) from files, streams, memory buffers
  • Fast integrated Software Render Backend (independent on any external graphics)
  • Flexible API for Hardware Render Backend (implemented for Unity and many other graphics and game engines)
  • AltSketch Unity Hardware Render Backend uses only very simple Unity API (not requires FSAA for anti-aliasing, no special shaders, etc.).
AltSketch is a pure C# CLS compliant 100% managed, without unsafe blocks Vector Graphics Library with Software and Hardware Render Backends for Games, Scientific Applications & other uses of Computer Graphics. All core functionality collected in one lightweight library AltSketch.dll for Microsoft .NET Framework or Mono (including Silverlight / Moonlight). It depends only on System, System.Data & System.Xml assemblies (.NET Framework 2.0).
 
AltSketch has System.Drawing like program interface and Software & Hardware Render Backends (solid and texure AA visual data triangulation), contains a subsystem AltNETType - port of wonderful font rendering library Freetype (READ MORE about AltNETType API) and subsystem AltNETImage for Image manipulations (loading, saving, transformations).
 
As AltSketch has several integrations with most popular GUI systems and Mobile platforms, you can develop and test a drawing part of your 3D application/game as independent program, and then easy integrate it into your main solution. Now you can draw Graphics in 3D with Brushes and Pens like you do it with any drawing library. It is flexible and useful development method in case of main project bulking and test complexity, or useful for team development process. Now you can develop graphics part of your Mobile applications without using an emulator as stand-alone application, only running on Mobile devices (or Emulator) for final tests.
 
AltSketch has Virtual File System support with Zip containers for resources loading. All AltSketch functionality & extensions works via VirtualFS and all resources can be loaded as from real file system, so from Zip containers (from files or memory streams).
 
Graphics in AltSketch begins with drawing lines and shapes, and continues on with work on images and formatting text. Drawing begins with the Graphics class. You can create a Graphics object based on an ImageSource object if you to draw in memory in SW mode and/or to save a picture as a file. Once you create the Graphics object, you have many methods you can use to perform the drawing:
  • Clear: clears the entire surface and fills it with color.
  • DrawEllipse / FillEllipse: draws an ellipse or circle defined by a bounding rectangle specified by a pair of coordinates, a height, and width.
  • DrawGeometry FillGeometry: draws a vector source geometry as defined by Geometry class
  • DrawIcon and DrawUnstretched: draw the image represented by the specified icon at the specified coordinates, with or without scaling the icon.
  • DrawImage: draws the specified Image object at the specified location.
  • DrawLine: draws a line connecting two points by the coordinate pairs.
  • DrawLines: draws a series of line segments that connect an array of Point structures.
  • DrawPath: draws a series of connected lines and curves.
  • DrawPie FillPie: draws a pie shape defined by an ellipse specified by a coordinate pair, a width, a height, and two radial lines.
  • DrawPolygon FillPolygon: draws a shape with three or more sides as defined by an array of Point structures
  • DrawRectangle FillRectangle: draws a rectangle or square, specified by a coordinate pair, a width, and a height.
  • DrawString: draws the specified text string at the specified location with the specified Brush and Font objects.
To use any of these methods, you must provide an instance of the Pen class. Typically, you specify the Pen class’ color and width in pixels. In Fill methods you must provide an instance of the Brush class. Also Pen supports Brushes as sources for gradient and image drawing. The supported brushes are:
  • SolidColorBrush
  • LinearGradientBrush
  • RadialGratientBrush
  • ImageBrush & TextureBrush
  • PathGradientBrush (coming soon...)
 
AltSDK includes wide variety of subAssets based on AltSketch: ported to AltSketch popular libraries (GUI, Plot, GIS, Computer Science, Physics, Graphics etc.):
 
AltSDK Full Edition (available only on AltSoftLab) includes many Integration Demos with a wide variety GUI-s & frameworks (all Integrations & HW Render Backends are open sourced, so you can easily adapt it to your applications or improve it if you need):
  • Unity Game Engine
  • XNA / MonoGame
  • OpenTK
  • Silverlight / Moonlight
  • Windows Forms
  • GTK
 
AltSDK Social Links:
 
 
AltSDK Demo contains handreds of AltSketch examples in different ways of uses:
 
[MEDIA=youtube]bm3dUnXH7tw[/MEDIA]
 
Some screenshots are represented below. Look more in AltSoftLab Screenshots Gallery
 
AltSketch Unity Vector Text Double Path Transform
 
AltSketch Unity QuickFont
 
AltSketch Unity SVG Transformations
 
AltSketch Unity OxyPlot
 
AltSketch Unity Geometry Polar Transform
 
AltSketch Unity Geometry Bilinear and Perspective Transform
 
AltSketch Unity Pie Chart
 
AltSketch Unity AltNETType
 
AltSketch Unity Geometry Boolean Operations
 
AltSketch Unity NPlot
 
AltSketch Unity Font Atlas
 
AltSketch Unity Vector Text Outline Transformations
 
AltSketch Unity Clipper
 
AltSketch Unity SVG Outline
 
AltSketch Unity ExtBrush

 

AltSketch is a pure C# CLS compliant 100% managed, without unsafe blocks Vector Graphics Library with Software and Hardware Render Backends for Games, Scientific Applications & other uses of Computer Graphics. All core functionality collected in one lightweight library AltSketch.dll for Microsoft .NET Framework or Mono (including Silverlight / Moonlight). AltSketch comes in 2 editions:

  • .NET Framework 2.0 (depends only on System assembly)
  • .NET Framework 4.0 PCL (Portable Class Library for PC/Android/iOS/WinPhone/Silverlight/etc.)

As AltSketch has several integrations with most popular GUI systems and Mobile platforms, you can develop and test a drawing part of your 3D application/game as independent program, and then easy integrate it into your main solution. Now you can draw Graphics in 3D with Brushes and Pens like you do it with any drawing library. It is flexible and useful development method in case of main project bulking and test complexity, or useful for team development process. Now you can develop graphics part of your Mobile applications without using an emulator as stand-alone application, only running on Mobile devices (or Emulator) for final tests.

AltSketch has Virtual File System support with Zip containers for resources loading. All AltSketch functionality & extensions works via VirtualFS and all resources can be loaded as from real file system, so from Zip containers (from files or memory streams).

AltSketch SDK includes wide variety of open source extensions: ported to AltSketch popular libraries (GUI, Plot, GIS, Computer Science, Physics, Graphics etc.).

AltSketch SDK includes many Integration Demos with a wide variety GUI-s & frameworks and platforms (all Integrations & HW Render Backends are open sourced, so you can easily adapt it to your applications or improve it if you need):

Please look Blogs for more information.

NOTE: AltSDK contains full source code of AltSketch Backend & Integration and not depends on any Unity release version. AltSDK Asset requirements ("Unity 4.6 or higher") set by Asset Store Administrators, but AltSketch hasn't such requirements in real.