Xojo Conferences
XDCMay2019MiamiUSA

Platforms to show: All Mac Windows Linux Cross-Platform

PictureWriterMBS class

Type Topic Plugin Version macOS Windows Linux Console & Web iOS
class Graphics & Pictures MBS Picture Plugin 6.5 Yes Yes Yes Yes No
Function: A class to build a picture by filling a memoryblock.
Example:
dim p as PictureWriterMBS
dim m as MemoryBlock
dim r,g,b,rRow,gRow,bRow,h1,w1,x,y,bpp as Integer

// Create a new picture writer
p=NewPictureWriterMBS(512,512)

h1=p.Height-1
w1=p.Width-1

bpp=p.BytesPerPixel
rRow=p.RedOffset
gRow=p.GreenOffset
bRow=p.BlueOffset
// in each row the red, blue and green channels have different offsets.
// but offsets are platform dependend

for y=0 to h1
// Get data in memory. This Memoryblock has a size property of 0!
m=p.Data(y)
r=rRow
g=gRow
b=bRow

for x=0 to w1

m.UInt8Value(r)=x\2
m.UInt8Value(g)=y\2
m.UInt8Value(b)=x*y\2

r=r+bpp
g=g+bpp
b=b+bpp
next

next

// Use Render to make a picture object
dim pic as Picture = p.Render
Backdrop = pic
Notes: This is the same code the plugin uses to create pictures.

Feedback, Comments & Corrections

This class has no sub classes.

Some useful global functions for this class:

  • NewPictureWriterMBS(pic as picture, width as Integer, height as Integer) as PictureWriterMBS
  • NewPictureWriterMBS(width as Integer, height as Integer, AlphaChannel as boolean = false) as PictureWriterMBS

Some examples which use this class:


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


PictureSepiaMBS   -   PKeyMBS




Links
MBS FileMaker tutorial videos