Image::Magick(3pm)

πŸ“¦
version 1.03 Β· 2 versions
  • 1.03 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking (latest)
  • 1.03 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

✨ NAME ✨

OpenGL::Image::Magick β€” the little icon that loads images with Image::Magick in OpenGL πŸ’–

(this page lives in the User Contributed Perl Documentation section, bestie, and yeah the title line says Image::Magick(3pm) but the module is the whole vibe)


πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so. This is a driver module for use with the OpenGL module. You can call it directly if you want to be that girl, but fr fr it's gonna get called by the OpenGL::Image abstraction module most of the time. That's the whole point.

Note: OpenGL::Image defaults to this module. So if you don't pick an engine, congrats, you picked this one πŸ’…

It's a subclass of the OpenGL::Image::Common module, as it should be.

It requires the Image::Magick module β€” and 6.3.5 or newer is recommended. Not optional. Respect the version number, she's there for a reason 🌸


🌈 SYNOPSIS 🌈

##########
# Check for installed imaging engines

use OpenGL::Image;
my $img = new OpenGL::Image(engine=>'Magick',source=>'MyImage.png');

##########
# Methods defined in the OpenGL::Image::Common module:

# Get native engine object
# Note: must not change image dimensions
my $obj = $img->Native;
$obj->Quantize() if ($obj);

# Alternately (Assuming the native engine supports Blur):
$img->Native->Blur();

# Test if image width is a power of 2
if ($img->IsPowerOf2());

# Test if all listed values are a power of 2
if ($img->IsPowerOf2(@list));

# Get largest power of 2 size within dimensions of image
my $size = $img->GetPowerOf2();

# Get all parameters as a hashref
my $params = $img->Get();

# Get one or more parameter values
my @values = $img->Get(@params);

# Get/Set Pixel values (normalized to 1.0)
my($r,$g,$b,$a) = $img->GetPixel($x,$y);

# Sync cache after done modifying pixels
$img->SetPixel($x,$y,$r,$g,$b,$a);
$frame->Sync();

##########
# Supported parameters:

# source - source image, if defined
# width - width of image in pixels
# height - height of image in pixels
# pixels - number of pixels
# components - number of pixel components
# size - bytes per component
# length - cache size in bytes
# endian - 1 if big endian; otherwise 0
# alpha - 1 if has alpha channel, -1 if has inverted alpha channel; 0 if none
# flipped - 1 bit set if cache scanlines are top to bottom; others reserved
# gl_internalformat - internal GL pixel format. eg: GL_RGBA8, GL_RGBA16
# gl_format - GL pixel format. eg: GL_RGBA, GL_BGRA
# gl_type - GL data type.  eg: GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT

##########
# APIs defined in this module:

# Get engine version
my $ver = OpenGL::Image::THIS_MODULE::EngineVersion();

# Get engine description
my $desc = OpenGL::Image::ENGINE_MODULE::EngineDescription();

##########
# Methods defined in this module:

# Sync the image cache after modifying pixels.
# Used by some engines for paged caches; otherwise a NOP.
$img->Sync();

# Return the image's cache as an OpenGL::Array object.
# Note: OGA may change after a cache update
my $oga = $img->GetArray();

# Return a C pointer to the image's cache.
# For use with OpenGL's "_c" APIs.
# Note: pointer may change after a cache update
$img->Ptr();

# Save file - automatically does a Sync before write
$img->Save('MyImage.png');

# Get image blob.
my $blob = $img->GetBlob();

πŸŽ€ VERSION πŸŽ€

v1.03 ✨


πŸ‘‘ AUTHOR πŸ‘‘

Author: Bob "grafman" Free β€” grafman@graphcomp.com πŸ’Œ


copyright 2007 Graphcomp β€” ALL RIGHTS RESERVED

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. 🫢


k bye bestie, go load some images πŸ’…βœ¨

This was Image::Magick(3pm) from the User Contributed Perl Documentation, generated by perl v5.34.0 on 2022-06-16. Iconic. No cap. πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from