Graphics::Magick is now the standard graphics package in WebGUI, but
Image::Magick will be supported for backwards compatibility. See gotcha.txt for details.
This commit is contained in:
parent
168ba28ccf
commit
bde1a7a941
6 changed files with 55 additions and 10 deletions
|
|
@ -10,6 +10,9 @@
|
|||
- api: You may now use a customDrawMethod attribute in your asset properties
|
||||
list that will enable you to add custom display options for that fields when
|
||||
the edit form is automatically generated.
|
||||
- Graphics::Magick is now the standard graphics package in WebGUI, but
|
||||
Image::Magick will be supported for backwards compatibility. See gotcha.txt
|
||||
for details.
|
||||
- Added file attachments to the Wiki.
|
||||
- Added a new attachments form control.
|
||||
- Added a form control skeleton.
|
||||
|
|
|
|||
|
|
@ -33,6 +33,17 @@ save you many hours of grief.
|
|||
Class::InsideOut
|
||||
HTML::TagCloud
|
||||
|
||||
* WebGUI now uses Graphics::Magick instead of Image::Magick for
|
||||
image processing functions. However, for the next few versions you
|
||||
will still be able to use Image::Magick if you already have it
|
||||
installed, to make the transition easier. Graphics::Magick is a
|
||||
fork of Image::Magick, but it's focus is stability and compatibility
|
||||
over adding new features. Another note will be added to this file
|
||||
when support for Image::Magick is officially removed. That will
|
||||
most likely happen in WebGUI 7.6.0. Note that WRE 0.8.0 includes
|
||||
Graphics::Magick, so if you upgrade to WRE 0.8.0 then you'll
|
||||
automatically be ready for the future.
|
||||
|
||||
* Any customizations made to the Inbox or Inbox/Message tempalates
|
||||
will be lost. Please back up your custom templates before running
|
||||
the upgrade
|
||||
|
|
|
|||
|
|
@ -1,8 +1,23 @@
|
|||
package WebGUI::Image;
|
||||
|
||||
use strict;
|
||||
use Image::Magick;
|
||||
use WebGUI::Image::Palette;
|
||||
use Carp qw(croak);
|
||||
eval 'use Graphics::Magick';
|
||||
my $graphicsMagickAvailable = ($@) ? 0 : 1;
|
||||
eval 'use Image::Magick';
|
||||
my $imageMagickAvailable = ($@) ? 0 : 1;
|
||||
my $graphicsPackage = '';
|
||||
if ($imageMagickAvailable) {
|
||||
$graphicsPackage = "Image::Magick";
|
||||
}
|
||||
elsif ($graphicsMagickAvailable) {
|
||||
$graphicsPackage = "Graphics::Magick";
|
||||
}
|
||||
else {
|
||||
croak "You must have either Graphics::Magick or Image::Magick installed to run WebGUI.\n";
|
||||
}
|
||||
|
||||
|
||||
=head1 NAME
|
||||
|
||||
|
|
@ -173,7 +188,7 @@ sub new {
|
|||
my $width = shift || 300;
|
||||
my $height = shift || 300;
|
||||
|
||||
my $img = Image::Magick->new(
|
||||
my $img = $graphicsPackage->new(
|
||||
size => $width.'x'.$height,
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -1118,8 +1118,8 @@ sub processDataset {
|
|||
}
|
||||
|
||||
my $dataIndex = 0;
|
||||
|
||||
my $stepsize = ($self->getTopHeight + $self->getBottomHeight) / scalar(@{$self->getDataset});
|
||||
my $divisor = scalar(@{$self->getDataset}) || 1; # avoid division by zero
|
||||
my $stepsize = ($self->getTopHeight + $self->getBottomHeight) / $divisor;
|
||||
foreach (@{$self->getDataset}) {
|
||||
$self->addSlice({
|
||||
percentage => $_ / $total,
|
||||
|
|
|
|||
|
|
@ -14,10 +14,25 @@ package WebGUI::Storage::Image;
|
|||
|
||||
=cut
|
||||
|
||||
use Image::Magick;
|
||||
use strict;
|
||||
use WebGUI::Storage;
|
||||
use WebGUI::Utility;
|
||||
use Carp qw(croak);
|
||||
eval 'use Graphics::Magick';
|
||||
my $graphicsMagickAvailable = ($@) ? 0 : 1;
|
||||
eval 'use Image::Magick';
|
||||
my $imageMagickAvailable = ($@) ? 0 : 1;
|
||||
my $graphicsPackage = '';
|
||||
if ($imageMagickAvailable) {
|
||||
$graphicsPackage = "Image::Magick";
|
||||
}
|
||||
elsif ($graphicsMagickAvailable) {
|
||||
$graphicsPackage = "Graphics::Magick";
|
||||
}
|
||||
else {
|
||||
croak "You must have either Graphics::Magick or Image::Magick installed to run WebGUI.\n";
|
||||
}
|
||||
|
||||
|
||||
our @ISA = qw(WebGUI::Storage);
|
||||
|
||||
|
|
@ -62,7 +77,7 @@ sub addFileFromCaptcha {
|
|||
srand;
|
||||
$challenge.= ('A'..'Z')[rand(26)] foreach (1..6);
|
||||
my $filename = "captcha.".$self->session->id->generate().".png";
|
||||
my $image = Image::Magick->new();
|
||||
my $image = $graphicsPackage->new();
|
||||
$image->Set(size=>'105x26');
|
||||
$image->ReadImage('xc:white');
|
||||
$image->AddNoise(noise=>"Multiplicative");
|
||||
|
|
@ -144,7 +159,7 @@ sub generateThumbnail {
|
|||
$self->session->errorHandler->warn("Can't generate a thumbnail for something that's not an image.");
|
||||
return 0;
|
||||
}
|
||||
my $image = Image::Magick->new;
|
||||
my $image = $graphicsPackage->new;
|
||||
my $error = $image->Read($self->getPath($filename));
|
||||
if ($error) {
|
||||
$self->session->errorHandler->error("Couldn't read image for thumbnail creation: ".$error);
|
||||
|
|
@ -211,7 +226,7 @@ sub getSizeInPixels {
|
|||
$self->session->errorHandler->error("Can't check the size of something that's not an image.");
|
||||
return 0;
|
||||
}
|
||||
my $image = Image::Magick->new;
|
||||
my $image = $graphicsPackage->new;
|
||||
my $error = $image->Read($self->getPath($filename));
|
||||
if ($error) {
|
||||
$self->session->errorHandler->error("Couldn't read image to check the size of it: ".$error);
|
||||
|
|
@ -303,7 +318,7 @@ sub resize {
|
|||
$self->session->errorHandler->error("Can't resize with no resizing parameters.");
|
||||
return 0;
|
||||
}
|
||||
my $image = Image::Magick->new;
|
||||
my $image = $graphicsPackage->new;
|
||||
my $error = $image->Read($self->getPath($filename));
|
||||
if ($error) {
|
||||
$self->session->errorHandler->error("Couldn't read image for resizing: ".$error);
|
||||
|
|
|
|||
|
|
@ -94,7 +94,8 @@ checkModule("DateTime",0.2901);
|
|||
checkModule("Time::HiRes",1.38);
|
||||
checkModule("DateTime::Format::Strptime",1.0601);
|
||||
checkModule("DateTime::Format::Mail",0.2901);
|
||||
checkModule("Image::Magick",6.0);
|
||||
checkModule("Image::Magick","6.0",2);
|
||||
checkModule("Graphics::Magick","1.1.7",2);
|
||||
checkModule("Log::Log4perl",0.51);
|
||||
checkModule("Net::LDAP",0.25);
|
||||
checkModule("HTML::Highlight",0.20);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue