MBS PictureEditor Plugin: NewPictureReaderMBS

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

NewPictureReaderMBS(pic as picture) as PictureReaderMBS

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 reader.
Example
dim pic as Picture = LogoMBS(500)
dim p as PictureReaderMBS
dim m as MemoryBlock
dim r,g,b,rRow,gRow,bRow,h1,w1,x,y,bpp as Integer

// Create a new picture reader
p=NewPictureReaderMBS(pic)

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

dim sum as Double

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

sum = sum + m.UInt8Value(r)
sum = sum + m.UInt8Value(g)
sum = sum + m.UInt8Value(b)

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

next

// show the sum of all pixels:
MsgBox "Sum with plugin is: "+str(sum)


// now try same in RB code:

dim surface as RGBSurface = pic.RGBSurface
dim c as color

sum = 0.0

for y=0 to h1
for x=0 to w1
c = surface.Pixel(x,y)

sum = sum + c.red
sum = sum + c.Green
sum = sum + c.Blue

next

next

surface = nil

MsgBox "Sum with RB Code is: "+str(sum)
quit

Returns nil on failure.
Please report if nil is returned as it should work always (except for low memory).

Some examples using this global method:

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


💬 Ask a question or report a problem