Platforms to show: All Mac Windows Linux Cross-Platform

NewPictureWriterMBS(pic as picture, width as Integer, height as Integer) as PictureWriterMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
global method Graphics & Pictures MBS Picture Plugin 14.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a new picture writer.

Returns nil on failure (low memory).
If you provide an existing picture we reuse it if it has the right size. But you can pass nil to get a new one always.

Some examples using this global method:

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

Type Topic Plugin Version macOS Windows Linux iOS Targets
global method Graphics & Pictures MBS Picture Plugin 6.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a new picture writer.
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

Returns nil on failure (low memory).
If alpha is requested, but not possible in the given version of Xojo (or Xojo), we return a picture without.

Some examples using this global method:

Blog Entries

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


The biggest plugin in space...