Mail-Box-4.01/0000755000175000001440000000000015117245237013573 5ustar00markovusers00000000000000Mail-Box-4.01/MANIFEST0000644000175000001440000000721515117245240014723 0ustar00markovusers00000000000000ChangeLog MANIFEST MANIFEST.extra Makefile.PL README.md README.todo examples/build.pl examples/grep.pl examples/multipart.pl examples/open.pl examples/reply.pl examples/send.pl examples/smaller.pl examples/strip-attachments.pl examples/strip-spam-markup.pl examples/takelarge.pl examples/unpack.pl lib/Mail/Box-Cookbook.pod lib/Mail/Box-Index.pod lib/Mail/Box-Overview.pod lib/Mail/Box.pm lib/Mail/Box.pod lib/Mail/Box/Collection.pm lib/Mail/Box/Collection.pod lib/Mail/Box/Dir.pm lib/Mail/Box/Dir.pod lib/Mail/Box/Dir/Message.pm lib/Mail/Box/Dir/Message.pod lib/Mail/Box/File.pm lib/Mail/Box/File.pod lib/Mail/Box/File/Message.pm lib/Mail/Box/File/Message.pod lib/Mail/Box/Identity.pm lib/Mail/Box/Identity.pod lib/Mail/Box/Locker.pm lib/Mail/Box/Locker.pod lib/Mail/Box/Locker/DotLock.pm lib/Mail/Box/Locker/DotLock.pod lib/Mail/Box/Locker/FcntlLock.pm lib/Mail/Box/Locker/FcntlLock.pod lib/Mail/Box/Locker/Flock.pm lib/Mail/Box/Locker/Flock.pod lib/Mail/Box/Locker/Multi.pm lib/Mail/Box/Locker/Multi.pod lib/Mail/Box/Locker/Mutt.pm lib/Mail/Box/Locker/Mutt.pod lib/Mail/Box/Locker/NFS.pm lib/Mail/Box/Locker/NFS.pod lib/Mail/Box/Locker/POSIX.pm lib/Mail/Box/Locker/POSIX.pod lib/Mail/Box/MH.pm lib/Mail/Box/MH.pod lib/Mail/Box/MH/Index.pm lib/Mail/Box/MH/Index.pod lib/Mail/Box/MH/Labels.pm lib/Mail/Box/MH/Labels.pod lib/Mail/Box/MH/Message.pm lib/Mail/Box/MH/Message.pod lib/Mail/Box/Maildir.pm lib/Mail/Box/Maildir.pod lib/Mail/Box/Maildir/Message.pm lib/Mail/Box/Maildir/Message.pod lib/Mail/Box/Manage/User.pm lib/Mail/Box/Manage/User.pod lib/Mail/Box/Manager.pm lib/Mail/Box/Manager.pod lib/Mail/Box/Mbox.pm lib/Mail/Box/Mbox.pod lib/Mail/Box/Mbox/Message.pm lib/Mail/Box/Mbox/Message.pod lib/Mail/Box/Message.pm lib/Mail/Box/Message.pod lib/Mail/Box/Message/Destructed.pm lib/Mail/Box/Message/Destructed.pod lib/Mail/Box/Net.pm lib/Mail/Box/Net.pod lib/Mail/Box/Net/Message.pm lib/Mail/Box/Net/Message.pod lib/Mail/Box/Search.pm lib/Mail/Box/Search.pod lib/Mail/Box/Search/Grep.pm lib/Mail/Box/Search/Grep.pod lib/Mail/Box/Test.pm lib/Mail/Box/Thread/Manager.pm lib/Mail/Box/Thread/Manager.pod lib/Mail/Box/Thread/Node.pm lib/Mail/Box/Thread/Node.pod lib/Mail/Box/Tie.pm lib/Mail/Box/Tie.pod lib/Mail/Box/Tie/ARRAY.pm lib/Mail/Box/Tie/ARRAY.pod lib/Mail/Box/Tie/HASH.pm lib/Mail/Box/Tie/HASH.pod lib/Mail/Message/Body/Delayed.pm lib/Mail/Message/Body/Delayed.pod lib/Mail/Message/Dummy.pm lib/Mail/Message/Dummy.pod lib/Mail/Message/Head/Delayed.pm lib/Mail/Message/Head/Delayed.pod lib/Mail/Message/Head/Subset.pm lib/Mail/Message/Head/Subset.pod lib/Mail/Server.pm lib/Mail/Server.pod scripts/lsmail scripts/mailbox2html scripts/takemail t/001use.t t/010platform-crlf.t t/100mbox-read.t t/101mbox-write.t t/102mbox-delay.t t/103mbox-append.t t/104mbox-create.t t/105mbox-thread.t t/106mbox-inplace.t t/107mbox-update.t t/110mh-read.t t/111mh-write.t t/112mh-append.t t/113mh-create.t t/114mh-thread.t t/115mh-seqs.t t/120maildir-read.t t/121maildir-write.t t/122maildir-append.t t/123maildir-destruct.t t/200folder-copyto.t t/201folder-tieary.t t/202folder-tiehash.t t/210threads-single.t t/220search-grep.t t/230msg-destruct.t t/300manager-open.t t/301manager-urlopen.t t/302manager-user.t t/303manager-collect.t t/400locking-dotlock.t t/401locking-flock.t t/402locking-nfslock.t t/403locking-posix.t t/404locking-mutt.t t/405locking-multi.t t/500parser-bodyf.t t/501parser-head.t t/502parser-bodys.t t/503parser-bodyl.t t/504parser-bodyd.t t/505parser-bodymp.t t/folders/mbox.cpy t/folders/mbox.src t/folders/mbox.win testrules.yml xt/99pod.t META.yml Module YAML meta-data (added by MakeMaker) META.json Module JSON meta-data (added by MakeMaker) Mail-Box-4.01/t/0000755000175000001440000000000015117245237014036 5ustar00markovusers00000000000000Mail-Box-4.01/t/121maildir-write.t0000644000175000001440000000563415117245043017223 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test writing of maildir folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Maildir; use Test::More; use File::Compare; use File::Copy; BEGIN { if($windows) { plan skip_all => 'Filenames not compatible with Windows'; exit 1; } plan tests => 45; } my $mdsrc = File::Spec->catfile($folderdir, 'maildir.src'); unpack_mbox2maildir($src, $mdsrc); my $folder = Mail::Box::Maildir->new ( folder => $mdsrc , extract => 'LAZY' , access => 'rw' ); ok(defined $folder); ok($folder->message(40)->label('accepted'), "40 accepted"); ok(!$folder->message(41)->label('accepted'), "41 not accepted"); # # Count files flagged for deletion (T flag) # my $to_be_deleted =0; $_->deleted && $to_be_deleted++ foreach $folder->messages; cmp_ok($to_be_deleted, "==", 7); $folder->close; # # Reopen the folder and see whether the messages flagged for deletion # are away. # $folder = new Mail::Box::Maildir ( folder => $mdsrc , extract => 'LAZY' , access => 'rw' ); cmp_ok($folder->messages, "==", 38); my $msg6 = $folder->message(6); like($msg6->filename , qr/:2,$/); ok(!$msg6->label('draft')); ok(!$msg6->label('flagged')); ok(!$msg6->label('replied')); ok(!$msg6->label('seen')); ok(!$msg6->modified); my $msg12 = $folder->message(12); like($msg12->filename , qr/:2,DFRS$/); ok($msg12->label('draft')); ok($msg12->label('flagged')); ok($msg12->label('replied')); ok($msg12->label('seen')); ok(!$msg12->label(flagged => 0)); ok(!$msg12->label('flagged')); like($msg12->filename , qr/:2,DRS$/); ok(!$msg12->label(draft => 0)); ok(!$msg12->label('draft')); like($msg12->filename , qr/:2,RS$/); ok(!$msg12->label(seen => 0)); ok(!$msg12->label('seen')); like($msg12->filename , qr/:2,R$/); ok($msg12->label(flagged => 1)); ok($msg12->label('flagged')); like($msg12->filename , qr/:2,FR$/); ok(!$msg12->label(flagged => 0, replied => 0)); ok(!$msg12->label('flagged')); ok(!$msg12->label('replied')); like($msg12->filename , qr/:2,$/); ok(!$msg12->modified); # # Test accepting and unaccepting # # test are only run on unix, so we can simply use '/'s is($msg12->filename, 't/folders/maildir.src/cur/110000010.l.43:2,'); ok($msg12->label('accepted'), "12 accepted"); cmp_ok($msg12->label(accepted => 0), '==', 0, 'un-accept a message'); ok(! $msg12->label('accepted')); is($msg12->filename, 't/folders/maildir.src/new/110000010.l.43:2,'); ok(!$msg12->modified); # message is not modified ok($folder->modified); # ... but the folder is modified # (which implies nothing) cmp_ok($msg12->label(accepted => 1), '==', 1, 'accept the message'); ok($msg12->label('accepted')); is($msg12->filename, 't/folders/maildir.src/cur/110000010.l.43:2,'); ok(! $folder->message(-1)->label('accepted')); $folder->message(-1)->accept; ok($folder->message(-1)->label('accepted')); $folder->close; Mail-Box-4.01/t/401locking-flock.t0000644000175000001440000000247215117245043017172 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the locking methods. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Locker::Flock; use Mail::Box; use Test::More; use File::Spec; use Log::Report; BEGIN { if($windows) { plan skip_all => "not available on MicroSoft Windows"; exit 0; } } my $fakefolder = bless {MB_foldername=> 'this'}, 'Mail::Box'; my $lockfile = File::Spec->catfile($workdir, 'lockfiletest'); unlink $lockfile; open my $out, '>', $lockfile; # create lockfile my $locker = Mail::Box::Locker->new ( method => 'FLOCK' , timeout => 1 , wait => 1 , file => $lockfile , folder => $fakefolder ); ok($locker, 'create locker'); is($locker->name, 'FLOCK', 'lock name'); ok($locker->lock, 'do lock'); ok(-f $lockfile, 'locked file exists'); ok($locker->hasLock, 'lock received'); # Already got lock, so should return immediately. ok try(sub { $locker->lock }, hide => 'ALL'), 'relock no problem'; my @e1 = $@->exceptions; cmp_ok @e1, '==', 1; like $e1[0]->message->toString, qr/already flocked/; $locker->unlock; ok(! $locker->hasLock, 'unlocked'); $out->close; unlink $lockfile; done_testing; Mail-Box-4.01/t/230msg-destruct.t0000644000175000001440000000311015117245043017057 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test destruction of (folder) messages # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Mbox; use Test::More tests => 58; my @src = (folder => "=$fn", folderdir => $folderdir); # # Destruct folder messages # my $folder = Mail::Box::Mbox->new ( @src , lock_type => 'NONE' ); ok(defined $folder, 'check success open folder'); exit 1 unless defined $folder; my ($delayed, $read) = (0,0); foreach my $msg ($folder->messages) { $msg->isDelayed ? $delayed++ : $read++; } ok($delayed, 'some messages are delayed'); ok($read, 'some messages are fully read'); foreach my $msg ($folder->messages) { $msg->destruct; isa_ok($msg, 'Mail::Box::Message::Destructed', "msg ".$msg->seqnr); } isa_ok($folder->message(0), 'Mail::Box::Message::Destructed', 'first'); # some things still work my $msg0 = $folder->message(0); ok(!$msg0->isDeleted, 'destructed is not deleted'); ok($msg0->delete, 'delete is allowed'); ok($msg0->messageId, 'has message id'); $folder->close(write => 'NEVER'); # # Destruct Mail::Message # my $msg = Mail::Message->read( <get('Subject'), "hi!", 'check headers read'); is($msg->body->string, "body\n", 'check body read'); my $alias = $msg; $msg->destruct; ok(!defined $msg, 'destruct removes link'); ok(defined $alias->body, 'body still exists'); $alias->destruct; ok(!defined $alias, 'destruct removes link'); Mail-Box-4.01/t/folders/0000755000175000001440000000000015117245237015474 5ustar00markovusers00000000000000Mail-Box-4.01/t/folders/mbox.cpy0000644000175000001440000041017315117245043017157 0ustar00markovusers00000000000000From magick-owner@unca-don.wizards.dupont.com Wed Feb 9 22:02 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id WAA23694 for ; Wed, 9 Feb 2000 22:02:24 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id WAA01128 for ; Wed, 9 Feb 2000 22:02:24 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma001126; Wed, 9 Feb 00 22:02:01 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id QAA21962; Wed, 9 Feb 2000 16:00:43 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id PAA29389 for magick-outgoing; Wed, 9 Feb 2000 15:38:42 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Date: Wed, 9 Feb 2000 15:44:05 -0500 From: William Park To: Mark Sappol Cc: "magick@wizards.dupont.com" Subject: Re: File Conversion From HTML to PS and TIFF Message-ID: <20000209154405.C265@better.net> Mail-Followup-To: Mark Sappol , "magick@wizards.dupont.com" References: <38A11D0E.A2064062@ipicorp.com> Mime-Version: 1.0 X-Mailer: Mutt 1.0pre3i In-Reply-To: <38A11D0E.A2064062@ipicorp.com> Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: William Park Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 1280 Lines: 33 On Wed, Feb 09, 2000 at 07:53:50AM +0000, Mark Sappol wrote: > I am new to this list so please forgive me if I am asking something that > has already been answered previously. I did check the archives but too > no avail. > > I need to create a postscript file from an HTML document. I have no > problem here with the text but I do have a logo (gif file) on this > document which does not get converted. How can I go about converting > the HTML documents I generate, along with any linked GIF images, to > PostScript, as well as at other times, to TIFF? > > I would appreciate any feedback and help on this request. > > Thanks in advance, > Mark You can convert .html to .ps using Netscape. You can do this manually by clicking mouse, or through '-remote' command line option. For example, netscape -remote "openURL(http://sexybabes.for.you/)" \ -remote "saveAs(xxx.ps, Postscript)" You can then convert .ps to .tiff like FAX program does. William *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed Feb 9 23:15 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id XAA24500 for ; Wed, 9 Feb 2000 23:15:56 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id XAA01235 for ; Wed, 9 Feb 2000 23:15:55 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma001233; Wed, 9 Feb 00 23:15:42 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id RAA04724; Wed, 9 Feb 2000 17:13:49 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id QAA29779 for magick-outgoing; Wed, 9 Feb 2000 16:56:19 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-Id: <200002092200.RAA19561@mailfw3.ford.com> Date: Wed, 09 Feb 2000 17:00:14 -0500 From: "Lincoln, D. E. (Daniel)" Organization: R&VT VCP&M X-Mailer: Mozilla 4.7C-CCK-MCD cf47 [en] (X11; I; SunOS 5.6 sun4u) X-Accept-Language: en, en-GB, de, fr, ja, ko, zh Mime-Version: 1.0 To: Jeffrey Krzysztow Cc: William Park , Mark Sappol , "magick@wizards.dupont.com" Subject: Re: File Conversion From HTML to PS and TIFF References: <38A11D0E.A2064062@ipicorp.com> <20000209154405.C265@better.net> <38A1DBE7.9D3718C9@pvii.com> Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: "Lincoln, D. E. (Daniel)" Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 2109 Lines: 60 If I may interject... It can be found at: http://developer.netscape.com/docs/manuals/deploymt/options.htm Jeffrey Krzysztow wrote: > > William, > > Where did you find information about -remote command line option for Netscape? > > William Park wrote: > > > On Wed, Feb 09, 2000 at 07:53:50AM +0000, Mark Sappol wrote: > > > I am new to this list so please forgive me if I am asking something that > > > has already been answered previously. I did check the archives but too > > > no avail. > > > > > > I need to create a postscript file from an HTML document. I have no > > > problem here with the text but I do have a logo (gif file) on this > > > document which does not get converted. How can I go about converting > > > the HTML documents I generate, along with any linked GIF images, to > > > PostScript, as well as at other times, to TIFF? > > > > > > I would appreciate any feedback and help on this request. > > > > > > Thanks in advance, > > > Mark > > > > You can convert .html to .ps using Netscape. You can do this manually > > by clicking mouse, or through '-remote' command line option. For > > example, > > netscape -remote "openURL(http://sexybabes.for.you/)" \ > > -remote "saveAs(xxx.ps, Postscript)" > > > > You can then convert .ps to .tiff like FAX program does. > > > > William > > > > *********************************************************************** > > To remove yourself from this mailing list, send mail to: > > majordomo@wizards.dupont.com > > > > Include the following command in the body of your message: > > unsubscribe magick > > *********************************************************************** -- Regards, Daniel E. Lincoln - Digital Buck Mechanic Ford Motor Company - R&VT Vehicle CAD Process & Methods *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed Feb 9 23:15 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id XAA24495 for ; Wed, 9 Feb 2000 23:15:26 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id XAA01230 for ; Wed, 9 Feb 2000 23:15:25 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma001228; Wed, 9 Feb 00 23:15:21 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id RAA04756; Wed, 9 Feb 2000 17:13:55 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id QAA29764 for magick-outgoing; Wed, 9 Feb 2000 16:55:37 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <38A1E3B0.F148D74A@websidestory.com> Date: Wed, 09 Feb 2000 14:01:20 -0800 From: Steve Dotson X-Mailer: Mozilla 4.7 [en] (X11; U; Linux 2.2.5-15 i686) X-Accept-Language: en MIME-Version: 1.0 To: Jeffrey Krzysztow CC: William Park , Mark Sappol , "magick@wizards.dupont.com" Subject: Re: File Conversion From HTML to PS and TIFF References: <38A11D0E.A2064062@ipicorp.com> <20000209154405.C265@better.net> <38A1DBE7.9D3718C9@pvii.com> Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Steve Dotson Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 2129 Lines: 63 http://home.netscape.com/newsref/std/x-remote.html Jeffrey Krzysztow wrote: > > William, > > Where did you find information about -remote command line option for Netscape? > > William Park wrote: > > > On Wed, Feb 09, 2000 at 07:53:50AM +0000, Mark Sappol wrote: > > > I am new to this list so please forgive me if I am asking something that > > > has already been answered previously. I did check the archives but too > > > no avail. > > > > > > I need to create a postscript file from an HTML document. I have no > > > problem here with the text but I do have a logo (gif file) on this > > > document which does not get converted. How can I go about converting > > > the HTML documents I generate, along with any linked GIF images, to > > > PostScript, as well as at other times, to TIFF? > > > > > > I would appreciate any feedback and help on this request. > > > > > > Thanks in advance, > > > Mark > > > > You can convert .html to .ps using Netscape. You can do this manually > > by clicking mouse, or through '-remote' command line option. For > > example, > > netscape -remote "openURL(http://sexybabes.for.you/)" \ > > -remote "saveAs(xxx.ps, Postscript)" > > > > You can then convert .ps to .tiff like FAX program does. > > > > William > > > > *********************************************************************** > > To remove yourself from this mailing list, send mail to: > > majordomo@wizards.dupont.com > > > > Include the following command in the body of your message: > > unsubscribe magick > > *********************************************************************** -- Steve Dotson Software Engineer WebSideStory, Inc. 10182 Telesis Court, Sixth Floor San Diego, California 92121 P: 858.546.0040 ext. 417 F: 858.546.0480 E: steve@websidestory.com *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed Feb 23 17:28 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA20894 for ; Wed, 23 Feb 2000 17:28:05 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA21883 for ; Wed, 23 Feb 2000 17:28:04 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma021881; Wed, 23 Feb 00 17:27:46 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id LAA28560; Wed, 23 Feb 2000 11:25:57 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id KAA09345 for magick-outgoing; Wed, 23 Feb 2000 10:53:09 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <177E035AF8BDD311858B00A0C9D8E324886A3B@EMAILSRVR_KPR> From: Steve Sapovits To: magick@wizards.dupont.com Subject: Transparency question Date: Wed, 23 Feb 2000 10:58:16 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Steve Sapovits Content-Type: text/plain Status: RO Content-Length: 1447 Lines: 42 I'm trying to do the following: 1) Take a JPEG image and size it down to a particular size. 2) Overlay that JPEG on top of an GIF image to form a combined result. This works fine for the most part: I use mogrify to resize, followed by combine to overlay. Now I'm presented with GIF images (the ones the JPEG is put on top of) that have colors or other background attributes we want to 'show through' the overlay where there is no image. Even without any transparency options this seems to ALMOST work. The problem is that there's a small area around each image of 'white' that always shows up. Trying transparency or the 'matte' option of '-draw' seems to have no effect. Any ideas? I'm an engineer -- not an image expert. The images in question are handed to me. I can change them if necessary and if it can be done via the ImageMagick tool. The volume we generate makes manual changes to each image out of the question. ---- Steve Sapovits Global Sports Interactive Work Email: sapovitss@globalsportsinc.com Home Email: steves@delanet.com Work Phone: 610-491-7087 Cell: 610-574-7706 Pager: 877-239-4003 *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed Feb 23 20:13 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id UAA24120 for ; Wed, 23 Feb 2000 20:13:38 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id UAA22110 for ; Wed, 23 Feb 2000 20:13:38 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma022108; Wed, 23 Feb 00 20:13:37 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id OAA00687; Wed, 23 Feb 2000 14:11:56 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id NAA10192 for magick-outgoing; Wed, 23 Feb 2000 13:26:44 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <177E035AF8BDD311858B00A0C9D8E324886AB2@EMAILSRVR_KPR> From: Steve Sapovits To: Steve Sapovits , magick@wizards.dupont.com Subject: RE: Transparency question Date: Wed, 23 Feb 2000 13:31:41 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Steve Sapovits Content-Type: text/plain Status: RO Content-Length: 2483 Lines: 73 Someone on this list and my image folks here seem to confirm that the problem here is with 'fringe' pixels that were not trimmed back as neatly as possible. Any suggestions for automating this? This whole thing needs to be batched. I played with the transparency and fuzz options with no real difference noted. Trying crop 0x0 makes some of the fringe whitespace areas neater, but it doesn't get rid of them. Any suggestions? > -----Original Message----- > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > Sent: Wednesday, February 23, 2000 10:58 AM > To: magick@wizards.dupont.com > Subject: Transparency question > > > I'm trying to do the following: > > 1) Take a JPEG image and size it down to a particular size. > 2) Overlay that JPEG on top of an GIF image to form a combined result. > > This works fine for the most part: I use mogrify to resize, followed by > combine to overlay. > > Now I'm presented with GIF images (the ones the JPEG is put on top of) > that have colors or other background attributes we want to 'show through' > the overlay where there is no image. > > Even without any transparency options this seems to ALMOST work. The > problem is that there's a small area around each image of 'white' that > always > shows up. Trying transparency or the 'matte' option of '-draw' seems to > have > no effect. > > Any ideas? I'm an engineer -- not an image expert. The images in > question > are handed to me. I can change them if necessary and if it can be done > via > the ImageMagick tool. The volume we generate makes manual changes to > each image out of the question. > > ---- > Steve Sapovits > Global Sports Interactive > Work Email: sapovitss@globalsportsinc.com > Home Email: steves@delanet.com > Work Phone: 610-491-7087 > Cell: 610-574-7706 > Pager: 877-239-4003 > > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Thu Feb 24 17:27 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA19964 for ; Thu, 24 Feb 2000 17:27:35 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA23400 for ; Thu, 24 Feb 2000 17:27:34 +0100 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma023398; Thu, 24 Feb 00 17:27:10 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id LAA14646; Thu, 24 Feb 2000 11:25:37 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA15770 for magick-outgoing; Thu, 24 Feb 2000 11:04:56 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <8100014B48DAD111AA4100805F9F3FC903A0E5B2@host60.corbis.com> From: Bill Radcliffe To: "'Steve Sapovits'" , "'magick@wizards.dupont.com'" Subject: RE: Transparency question Date: Thu, 24 Feb 2000 08:06:44 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bill Radcliffe Content-Type: text/plain Status: RO Content-Length: 3362 Lines: 93 It would help me if you could send some small samples of exactly the effect you are trying to achieve. I'm sure IM can do whatever you want but the road to get there may not be at all obvious. > -----Original Message----- > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > Sent: Wednesday, February 23, 2000 10:32 AM > To: Steve Sapovits; magick@wizards.dupont.com > Subject: RE: Transparency question > > > Someone on this list and my image folks here seem to confirm that the > problem > here is with 'fringe' pixels that were not trimmed back as neatly as > possible. Any > suggestions for automating this? This whole thing needs to be batched. I > played > with the transparency and fuzz options with no real difference noted. > Trying > crop 0x0 makes some of the fringe whitespace areas neater, but it doesn't > get rid > of them. > > Any suggestions? > > > -----Original Message----- > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > Sent: Wednesday, February 23, 2000 10:58 AM > > To: magick@wizards.dupont.com > > Subject: Transparency question > > > > > > I'm trying to do the following: > > > > 1) Take a JPEG image and size it down to a particular size. > > 2) Overlay that JPEG on top of an GIF image to form a combined result. > > > > This works fine for the most part: I use mogrify to resize, followed by > > > combine to overlay. > > > > Now I'm presented with GIF images (the ones the JPEG is put on top of) > > that have colors or other background attributes we want to 'show > through' > > the overlay where there is no image. > > > > Even without any transparency options this seems to ALMOST work. The > > problem is that there's a small area around each image of 'white' that > > always > > shows up. Trying transparency or the 'matte' option of '-draw' seems to > > have > > no effect. > > > > Any ideas? I'm an engineer -- not an image expert. The images in > > question > > are handed to me. I can change them if necessary and if it can be done > > via > > the ImageMagick tool. The volume we generate makes manual changes to > > each image out of the question. > > > > ---- > > Steve Sapovits > > Global Sports Interactive > > Work Email: sapovitss@globalsportsinc.com > > Home Email: steves@delanet.com > > Work Phone: 610-491-7087 > > Cell: 610-574-7706 > > Pager: 877-239-4003 > > > > > > *********************************************************************** > > To remove yourself from this mailing list, send mail to: > > majordomo@wizards.dupont.com > > > > Include the following command in the body of your message: > > unsubscribe magick > > *********************************************************************** > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Thu Feb 24 18:17 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA21506 for ; Thu, 24 Feb 2000 18:17:36 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA23500 for ; Thu, 24 Feb 2000 18:17:35 +0100 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma023498; Thu, 24 Feb 00 18:17:21 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id MAA27594; Thu, 24 Feb 2000 12:14:53 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA16076 for magick-outgoing; Thu, 24 Feb 2000 11:52:40 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <8100014B48DAD111AA4100805F9F3FC903A0E5B9@host60.corbis.com> From: Bill Radcliffe To: "'Steve Sapovits'" Cc: "'magick@wizards.dupont.com'" Subject: RE: Transparency question Date: Thu, 24 Feb 2000 08:54:32 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bill Radcliffe Content-Type: text/plain; charset="ISO-8859-1" Status: RO Content-Length: 5643 Lines: 161 Your problem is that you are trying to use transparency, but you really want to use alpha channel blending. I'll show you how if you can send me another copy of MCS_C_11452.gif before it is flattened out into a GIF file. You need to have an input file were the "image" pixels are in the RGB parts of the file, and the "cutout" is in the "alpha" channel. The alpha channel contains a value for each and every pixel that defines the opacity of the pixel. Two file formats that support this are Photoshop and TIFF. > -----Original Message----- > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > Sent: Thursday, February 24, 2000 8:34 AM > To: Bill Radcliffe > Subject: RE: Transparency question > > > Good idea, of course. > > This is run from a bigger program but I distilled it down to a simpler > set of commands to reproduce. I run these two commands: > > mogrify -geometry 120x120! 'MCS_C_11452.gif' > combine 'MCS_C_120x150.gif' -gravity south 'MCS_C_11452.gif' -compose over > 'result.gif' > > I get this output: > > mogrify: no delegates configuration file found (delegates.mgk). > mogrify: no encode delegate for this image format (Y). > combine: no delegates configuration file found (delegates.mgk). > > I've gotten these 'delegates' messages before with no ill effects. > > Here are the files I'm using. The 'result.gif' has the whitespace I > mentioned. Any help > would be greatly appreciated. I'll write a perl program for you in > exchange > or something. 8-) > > <> <> <> > > > > -----Original Message----- > > From: Bill Radcliffe [SMTP:BillR@corbis.com] > > Sent: Thursday, February 24, 2000 11:07 AM > > To: 'Steve Sapovits'; 'magick@wizards.dupont.com' > > Subject: RE: Transparency question > > > > It would help me if you could send some small samples of exactly the > > effect > > you are trying to achieve. I'm sure IM can do whatever you want but the > > road > > to get there may not be at all obvious. > > > > > -----Original Message----- > > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > > Sent: Wednesday, February 23, 2000 10:32 AM > > > To: Steve Sapovits; magick@wizards.dupont.com > > > Subject: RE: Transparency question > > > > > > > > > Someone on this list and my image folks here seem to confirm that the > > > problem > > > here is with 'fringe' pixels that were not trimmed back as neatly as > > > possible. Any > > > suggestions for automating this? This whole thing needs to be > batched. > > I > > > played > > > with the transparency and fuzz options with no real difference noted. > > > Trying > > > crop 0x0 makes some of the fringe whitespace areas neater, but it > > doesn't > > > get rid > > > of them. > > > > > > Any suggestions? > > > > > > > -----Original Message----- > > > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > > > Sent: Wednesday, February 23, 2000 10:58 AM > > > > To: magick@wizards.dupont.com > > > > Subject: Transparency question > > > > > > > > > > > > I'm trying to do the following: > > > > > > > > 1) Take a JPEG image and size it down to a particular size. > > > > 2) Overlay that JPEG on top of an GIF image to form a combined > > result. > > > > > > > > This works fine for the most part: I use mogrify to resize, > followed > > by > > > > > > > combine to overlay. > > > > > > > > Now I'm presented with GIF images (the ones the JPEG is put on top > of) > > > > that have colors or other background attributes we want to 'show > > > through' > > > > the overlay where there is no image. > > > > > > > > Even without any transparency options this seems to ALMOST work. > The > > > > problem is that there's a small area around each image of 'white' > that > > > > always > > > > shows up. Trying transparency or the 'matte' option of '-draw' > seems > > to > > > > have > > > > no effect. > > > > > > > > Any ideas? I'm an engineer -- not an image expert. The images in > > > > question > > > > are handed to me. I can change them if necessary and if it can be > > done > > > > via > > > > the ImageMagick tool. The volume we generate makes manual changes > to > > > > each image out of the question. > > > > > > > > ---- > > > > Steve Sapovits > > > > Global Sports Interactive > > > > Work Email: sapovitss@globalsportsinc.com > > > > Home Email: steves@delanet.com > > > > Work Phone: 610-491-7087 > > > > Cell: 610-574-7706 > > > > Pager: 877-239-4003 > > > > > > > > > > > > > > *********************************************************************** > > > > To remove yourself from this mailing list, send mail to: > > > > majordomo@wizards.dupont.com > > > > > > > > Include the following command in the body of your message: > > > > unsubscribe magick > > > > > > *********************************************************************** > > > > > > > *********************************************************************** > > > To remove yourself from this mailing list, send mail to: > > > majordomo@wizards.dupont.com > > > > > > Include the following command in the body of your message: > > > unsubscribe magick > > > > *********************************************************************** << > File: MCS_C_11452.gif >> << File: MCS_C_120x150.gif >> << File: > result.gif >> *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Thu Feb 24 20:21 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id UAA23276 for ; Thu, 24 Feb 2000 20:21:08 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id UAA23679 for ; Thu, 24 Feb 2000 20:21:08 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma023676; Thu, 24 Feb 00 20:20:57 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id OAA10625; Thu, 24 Feb 2000 14:17:28 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id NAA16562 for magick-outgoing; Thu, 24 Feb 2000 13:40:21 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <8100014B48DAD111AA4100805F9F3FC903A0E5BF@host60.corbis.com> From: Bill Radcliffe To: "'Steve Sapovits'" Cc: "'magick@wizards.dupont.com'" Subject: RE: Transparency question Date: Thu, 24 Feb 2000 10:42:23 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bill Radcliffe Content-Type: text/plain; charset="ISO-8859-1" Status: RO Content-Length: 7382 Lines: 206 OK - here is a "possible" solution. This sequence relies on the fact that the input image was originally composited on a white background. It takes the image and generates a "fake" alpha channel (mask) and uses this during the compositing operation. It looks pretty good, but has the disadvantage that the background will tend to influence the colors in the final image more then you would want. : first convert to an RGB format with no more transparency or mask channel convert -compression none MCS_C_11452.gif MCS_C_11452_rgb.bmp : now make a fake alpha channel using a grayscale version of the image (inverted) convert -compression none -colorspace gray -negate MCS_C_11452.gif MCS_C_11452_a.bmp : combine the original image along with the fake alpha channel onto the background combine -gravity south -compose over MCS_C_120x150.gif MCS_C_11452.gif MCS_C_11452_a.bmp result.gif > -----Original Message----- > From: Bill Radcliffe > Sent: Thursday, February 24, 2000 8:55 AM > To: 'Steve Sapovits' > Cc: 'magick@wizards.dupont.com' > Subject: RE: Transparency question > > Your problem is that you are trying to use transparency, but you really > want > to use alpha channel blending. I'll show you how if you can send me > another > copy of MCS_C_11452.gif before it is flattened out into a GIF file. You > need > to have an input file were the "image" pixels are in the RGB parts of the > file, and the "cutout" is in the "alpha" channel. The alpha channel > contains > a value for each and every pixel that defines the opacity of the pixel. > Two > file formats that support this are Photoshop and TIFF. > > > -----Original Message----- > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > Sent: Thursday, February 24, 2000 8:34 AM > > To: Bill Radcliffe > > Subject: RE: Transparency question > > > > > > Good idea, of course. > > > > This is run from a bigger program but I distilled it down to a simpler > > set of commands to reproduce. I run these two commands: > > > > mogrify -geometry 120x120! 'MCS_C_11452.gif' > > combine 'MCS_C_120x150.gif' -gravity south 'MCS_C_11452.gif' -compose > over > > 'result.gif' > > > > I get this output: > > > > mogrify: no delegates configuration file found (delegates.mgk). > > mogrify: no encode delegate for this image format (Y). > > combine: no delegates configuration file found (delegates.mgk). > > > > I've gotten these 'delegates' messages before with no ill effects. > > > > Here are the files I'm using. The 'result.gif' has the whitespace I > > mentioned. Any help > > would be greatly appreciated. I'll write a perl program for you in > > exchange > > or something. 8-) > > > > <> <> <> > > > > > > > -----Original Message----- > > > From: Bill Radcliffe [SMTP:BillR@corbis.com] > > > Sent: Thursday, February 24, 2000 11:07 AM > > > To: 'Steve Sapovits'; 'magick@wizards.dupont.com' > > > Subject: RE: Transparency question > > > > > > It would help me if you could send some small samples of exactly the > > > effect > > > you are trying to achieve. I'm sure IM can do whatever you want but > the > > > road > > > to get there may not be at all obvious. > > > > > > > -----Original Message----- > > > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > > > Sent: Wednesday, February 23, 2000 10:32 AM > > > > To: Steve Sapovits; magick@wizards.dupont.com > > > > Subject: RE: Transparency question > > > > > > > > > > > > Someone on this list and my image folks here seem to confirm that > the > > > > problem > > > > here is with 'fringe' pixels that were not trimmed back as neatly as > > > > possible. Any > > > > suggestions for automating this? This whole thing needs to be > > batched. > > > I > > > > played > > > > with the transparency and fuzz options with no real difference > noted. > > > > Trying > > > > crop 0x0 makes some of the fringe whitespace areas neater, but it > > > doesn't > > > > get rid > > > > of them. > > > > > > > > Any suggestions? > > > > > > > > > -----Original Message----- > > > > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > > > > Sent: Wednesday, February 23, 2000 10:58 AM > > > > > To: magick@wizards.dupont.com > > > > > Subject: Transparency question > > > > > > > > > > > > > > > I'm trying to do the following: > > > > > > > > > > 1) Take a JPEG image and size it down to a particular size. > > > > > 2) Overlay that JPEG on top of an GIF image to form a combined > > > result. > > > > > > > > > > This works fine for the most part: I use mogrify to resize, > > followed > > > by > > > > > > > > > combine to overlay. > > > > > > > > > > Now I'm presented with GIF images (the ones the JPEG is put on top > > of) > > > > > that have colors or other background attributes we want to 'show > > > > through' > > > > > the overlay where there is no image. > > > > > > > > > > Even without any transparency options this seems to ALMOST work. > > The > > > > > problem is that there's a small area around each image of 'white' > > that > > > > > always > > > > > shows up. Trying transparency or the 'matte' option of '-draw' > > seems > > > to > > > > > have > > > > > no effect. > > > > > > > > > > Any ideas? I'm an engineer -- not an image expert. The images in > > > > > question > > > > > are handed to me. I can change them if necessary and if it can be > > > done > > > > > via > > > > > the ImageMagick tool. The volume we generate makes manual changes > > to > > > > > each image out of the question. > > > > > > > > > > ---- > > > > > Steve Sapovits > > > > > Global Sports Interactive > > > > > Work Email: sapovitss@globalsportsinc.com > > > > > Home Email: steves@delanet.com > > > > > Work Phone: 610-491-7087 > > > > > Cell: 610-574-7706 > > > > > Pager: 877-239-4003 > > > > > > > > > > > > > > > > > > > *********************************************************************** > > > > > To remove yourself from this mailing list, send mail to: > > > > > majordomo@wizards.dupont.com > > > > > > > > > > Include the following command in the body of your message: > > > > > unsubscribe magick > > > > > > > > > *********************************************************************** > > > > > > > > > > *********************************************************************** > > > > To remove yourself from this mailing list, send mail to: > > > > majordomo@wizards.dupont.com > > > > > > > > Include the following command in the body of your message: > > > > unsubscribe magick > > > > > > *********************************************************************** > << > > File: MCS_C_11452.gif >> << File: MCS_C_120x150.gif >> << File: > > result.gif >> > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov Sun Aug 8 10:04:17 1999 Subject: Resize with Transparency To: magick@wizards.dupont.com Date: Sun, 8 Aug 1999 10:04:17 +0200 (MET DST) Reply-To: markov@ATComputing.nl (Mark Overmeer) X-Mailer: ELM [version 2.4 PL21] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Content-Length: 1376 Lines: 37 Hi, Maybe someone knows a solution, maybe for enhancement: I have an image (say black on white), where white is set to be transparent. I can display the image on any background, without seeing white. Now I resize the image with anti-aliasing. For that, we have to intermediate pixels, which also requires interpolating the black pixels and background pixels. But: I my case, the background has a different (but known) color every time i.e. need to anti-alias the same image to different backgrounds. I would like to write: my $image->Read('original.gif'); $image->Set(background => 'blue'); $image->Scale('50%x50%'); $image->Write('small.gif'); However, ImageMagick (ImageMagick 4.2.7, PerlMagick 4.27 on Linux) takes as value for a transparent pixel not the value of `background', but the color used to define a transparent color: in this case `white'. My image reduced as above shows white pixels on my blue background. Is my expectation wrong? Does anyone know a work-around? -- Thanks, Mark Overmeer %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Thu Mar 30 19:09 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id TAA14579 for ; Thu, 30 Mar 2000 19:09:10 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id TAA31447 for ; Thu, 30 Mar 2000 19:09:10 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma031440; Thu, 30 Mar 00 19:08:51 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id MAA10121; Thu, 30 Mar 2000 12:04:52 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA03360 for magick-outgoing; Thu, 30 Mar 2000 11:44:20 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <8100014B48DAD111AA4100805F9F3FC903A0E75D@host60.corbis.com> From: Bill Radcliffe To: "'Ivo'" , magick@wizards.dupont.com, tiff@olympiakos.com Subject: RE: jpeg2000 question Date: Thu, 30 Mar 2000 08:46:50 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bill Radcliffe Content-Type: text/plain Status: RO Content-Length: 2759 Lines: 66 I worked on the definition of the JP2 file format. The situation with JPEG2000 is not at all like JPEG. You should know is that JP2 is a very simple wrapper around the formal JPEG2000 "codestream". It was based on the Quicktime idea of "atoms". This simple idea is that you have a tag and a length followed by the "stuff". You know what the "stuff" is based on the tag type. You can also nest these atoms to build more complex structures. JP2 is a very simple set of these atoms, most of which are optional. You could write a program to implement this in about 15 minutes. The "hard" part of JP2 is the "codestream". This is the encoded JPEG2000 data. Good luck on that. We don't have a freely available reference implementation at this point because nobody has signed up to do it. There was an effort underway by the same group that did the JPEG-LS implementation. This was given to the public domain.. http://spmg.ece.ubc.ca/research/jpeg/jpeg_ls/jpegls.html They actually had an implementation of JPEG2000 on their website but pulled it off: http://www.ece.ubc.ca/~mdadams/jasper/ Apparently, they decided to sell out and try to charge for it instead of providing it to the public domain. We all know how well that is going to work. When are people going to learn that you can't make money selling compression software? It's not a business - its just an enabler. My opinion is that without a "Tom Lane" type signing up to make a free implementation available, JPEG2000 is doomed. You just don't get real interoperability from a paper spec. We know this. The good news is that the Digital Imaging Group (DIG) has a project underway to do this. The bad news is that it has not yet started. And so we wait :-) > -----Original Message----- > From: Ivo [SMTP:ivo.penzar@infolink-software.com] > Sent: Thursday, March 30, 2000 1:37 AM > To: magick@wizards.dupont.com; tiff@olympiakos.com > Subject: jpeg2000 question > > Does anybody know of some repository of jp2 (jpeg2000, to be approved by > ISO/ITU-T by the end of this year) and/or a tool to write (some sort of) > those images. > > Thanks, > Ivo > > > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Fri Mar 31 17:01:17 2000 Date: Fri, 31 Mar 2000 17:01:17 +0200 From: Mark Overmeer To: Carl Knoos Cc: magick@wizards.dupont.com Subject: Re: Problem resizing images through perl script Message-ID: <20000331170117.B2095@atcmpg.ATComputing.nl> References: <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23.interaccess.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: ; from cknoos@atg.com on Thu, Mar 30, 2000 at 06:27:54PM -0500 Status: RO Content-Length: 820 Lines: 23 * Carl Knoos (cknoos@atg.com) [000331 01:39]: > if I run mogrify -geometry 95x95 whatever.jpg > I get exactly what I want, except when I try > to do it from Perl... > # resize it. > $result="$mogrifypath/mogrify -geometry 96x96 > $GalleryPath/tn_$ShortFilename"; I assume you try to execute this code: use back-tics: $result=`$mogrifypath/mogrify -geometry 96x96 $GalleryPath/tn_$ShortFilename`; or better qx(...) Is it just a slip of pen here, or just usual programmers-blindness? -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Fri Mar 31 01:39 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id BAA16135 for ; Fri, 31 Mar 2000 01:39:18 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id BAA31743 for ; Fri, 31 Mar 2000 01:39:18 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma031741; Fri, 31 Mar 00 01:39:12 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id SAA08310; Thu, 30 Mar 2000 18:37:29 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id SAA05154 for magick-outgoing; Thu, 30 Mar 2000 18:24:04 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f From: "Carl Knoos" To: Subject: Problem resizing images through perl script Date: Thu, 30 Mar 2000 18:27:54 -0500 Message-ID: MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) In-Reply-To: <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23.interaccess.com> Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: "Carl Knoos" Content-Type: text/plain; charset="iso-8859-1" Status: RO X-Status: A Content-Length: 1270 Lines: 47 I know this probably doesn't belong here, but I don't who else to ask :) Basically, I have imagemagick installed and it works like a charm! if I run mogrify -geometry 95x95 whatever.jpg I get exactly what I want, except when I try to do it from Perl... If I in a perl script say: sub GenerateThumb { $fsize = -s "$GalleryPath/$ShortFilename"; if ($thumbmethod == 1) { # copy image. open(IMGFILE, "$GalleryPath/$ShortFilename"); open(TNFILE, ">$GalleryPath/tn_$ShortFilename"); binmode(IMGFILE); binmode(TNFILE); read(IMGFILE, $buffer, $fsize); print TNFILE $buffer; close(TNFILE); close(IMGFILE); chmod (0777, "$GalleryPath/tn_$ShortFilename"); # resize it. $result="$mogrifypath/mogrify -geometry 96x96 $GalleryPath/tn_$ShortFilename"; } } It all works great until it comes to the resizing, it just seem to skip the last step. the variable $mogrifypath is set correctly to /usr/bin Does anyone what I'm doing wrong? /Carl *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Fri Mar 31 02:25 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id CAA16260 for ; Fri, 31 Mar 2000 02:25:19 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id CAA31781 for ; Fri, 31 Mar 2000 02:25:19 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma031779; Fri, 31 Mar 00 02:25:12 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id TAA21824; Thu, 30 Mar 2000 19:23:29 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id TAA05326 for magick-outgoing; Thu, 30 Mar 2000 19:16:20 -0500 (EST) <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23. interaccess.com> X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Mime-Version: 1.0 X-Sender: leonardr@mail1.netreach.net Message-Id: In-Reply-To: <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23.interaccess.com> References: <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23.interaccess.com> Date: Thu, 30 Mar 2000 19:15:48 -0500 To: Joseph Korabelnikov magick@wizards.dupont.com From: Leonard Rosenthol Subject: Re: Convert HTM, HTML files to the .jpg format X-MIME-Autoconverted: from quoted-printable to 8bit by unca-don.wizards.dupont.com id TAA05323 Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Leonard Rosenthol X-MIME-Autoconverted: from 8bit to quoted-printable by mustang.oldcity.dca.net id TAA21824 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by atcmpg.ATComputing.nl id CAA16260 Content-Type: text/plain; charset="iso-8859-1" ; format="flowed" Status: RO Content-Length: 1198 Lines: 33 At 4:12 PM -0600 3/30/00, Joseph Korabelnikov wrote: >I attempted to convert HTML file to the .jpg format from Command Prompt >window and got an error : > > convert: delegate failed (html2ps -o %o %i). > convert: no delegate for this image format (HTML). > >As I understood situation I need to install mgtl2ps library. Am I right. If >so, where to get it? > You can find it at . LDR -- ---------------------------------------------------------------------------- You've got a SmartFriend in Pennsylvania ---------------------------------------------------------------------------- Leonard Rosenthol Internet: leonardr@lazerware.com America Online: MACgician Web Site: FTP Site: PGP Fingerprint: C76E 0497 C459 182D 0C6B AB6B CA10 B4DF 8067 5E65 *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Mon Apr 3 08:25:55 2000 Date: Mon, 3 Apr 2000 08:25:55 +0200 From: Mark Overmeer To: Carl Knoos Subject: Re: Problem resizing images through perl script Message-ID: <20000403082555.B11537@atcmpg.ATComputing.nl> References: <20000331170117.B2095@atcmpg.ATComputing.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: ; from cknoos@atg.com on Sat, Apr 01, 2000 at 03:40:32PM -0500 Status: RO Content-Length: 1046 Lines: 23 * Carl Knoos (cknoos@atg.com) [000401 22:42]: > ld.so.1: /usr/local/bin/mogrify: fatal: libttf.so.2: open failed: No such > file or directory Typical for installing ImageMagick binaries: they are precompiled on a system with a long list of shared-libs. IM is very powerful, so there are many libs. While starting, the libs are contacted. Search for a libttf.so : you may not have it, have the wrong version or just a lacking link. ttf = True Type Fonts, and the lib is available at freetype.org. > I've asked the company that I rent space from to install > PerlMagick on the box, hopefully I won't have all these > problems if they do. Compatibility between all those libs and apps will continue to haunt us. -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From cknoos@atg.com Sat Apr 1 22:42 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id WAA04105 for ; Sat, 1 Apr 2000 22:42:15 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id WAA01429 for ; Sat, 1 Apr 2000 22:42:14 +0200 Received: from art.atg.com(205.181.94.1) by ns.ATComputing.nl via smap (V2.1) id xma001427; Sat, 1 Apr 00 22:42:05 +0200 Received: from donkeykong (donkey-kong.atg.com [205.181.107.218]) by art.atg.com (8.9.1/8.9.1) with SMTP id PAA24854 for ; Sat, 1 Apr 2000 15:42:29 -0500 (EST) From: "Carl Knoos" To: "Mark Overmeer" Subject: RE: Problem resizing images through perl script Date: Sat, 1 Apr 2000 15:40:32 -0500 Message-ID: MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Importance: Normal In-Reply-To: <20000331170117.B2095@atcmpg.ATComputing.nl> Content-Type: text/plain; charset="iso-8859-1" Status: RO X-Status: A Content-Length: 1865 Lines: 63 Blindness :) Now I'm on to the next problem though... when I try to execute the line from the script, my webservers error log contains this: ld.so.1: /usr/local/bin/mogrify: fatal: libttf.so.2: open failed: No such file or directory I'm seriously starting to get ticked now... hehe :) I've asked the company that I rent space from to install PerlMagick on the box, hopefully I won't have all these problems if they do. Thanks for your help! :) /Carl -----Original Message----- From: owner-magick@wizards.dupont.com [mailto:owner-magick@wizards.dupont.com]On Behalf Of Mark Overmeer Sent: Friday, March 31, 2000 10:01 AM To: Carl Knoos Cc: magick@wizards.dupont.com Subject: Re: Problem resizing images through perl script * Carl Knoos (cknoos@atg.com) [000331 01:39]: > if I run mogrify -geometry 95x95 whatever.jpg > I get exactly what I want, except when I try > to do it from Perl... > # resize it. > $result="$mogrifypath/mogrify -geometry 96x96 > $GalleryPath/tn_$ShortFilename"; I assume you try to execute this code: use back-tics: $result=`$mogrifypath/mogrify -geometry 96x96 $GalleryPath/tn_$ShortFilename`; or better qx(...) Is it just a slip of pen here, or just usual programmers-blindness? -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Tue May 9 15:14:18 2000 Date: Tue, 9 May 2000 15:14:18 +0200 From: Mark Overmeer To: Pletschette Andre Subject: Re: Undefined Symbol: SetWarningHandler Message-ID: <20000509151418.B15139@atcmpg.ATComputing.nl> References: <3917FC90.8B8B0CF@gmx.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <3917FC90.8B8B0CF@gmx.net>; from andre.pletschette@gmx.net on Tue, May 09, 2000 at 01:54:56PM +0200 Status: RO Content-Length: 1095 Lines: 25 * Pletschette Andre (andre.pletschette@gmx.net) [000509 15:11]: > When I tried to write a perl script with the following line in it: > use Image::Magick; > I get the following error-message: > > perl: error in loading shared librairies: > /usr/lib/perl5/site_perl/5.005/i586-lin > ux/auto/Image/Magick/Magick.so: undefined symbol: SetWarningHandler > > Could anybody tell me what this means, and how I can get it run, I run > Suse Linux 6.3 and I've installed Image Magick with the C++ and the Perl > Modules. The Perl::Magick and Image::Magick/ImageMagick modules are not compatible. Just reinstall all yourself from www.ImageMagick.org. Be warned: you have to remove the old Perl::Magick *.pm files too, otherwise you may still use the old versions... -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Tue May 9 15:11 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id PAA15311 for ; Tue, 9 May 2000 15:11:14 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id PAA24539 for ; Tue, 9 May 2000 15:11:13 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma024537; Tue, 9 May 00 15:11:01 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id JAA17934; Tue, 9 May 2000 09:09:29 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id IAA13522 for magick-outgoing; Tue, 9 May 2000 08:42:00 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <3917FC90.8B8B0CF@gmx.net> Date: Tue, 09 May 2000 13:54:56 +0200 From: Pletschette Andre X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.2.13 i586) X-Accept-Language: fr, en, de MIME-Version: 1.0 To: "magick@wizards.dupont.com" Subject: Undefined Symbol: SetWarningHandler Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Pletschette Andre Content-Type: text/plain; charset=us-ascii Status: RO X-Status: A Content-Length: 747 Lines: 19 When I tried to write a perl script with the following line in it: use Image::Magick; I get the following error-message: perl: error in loading shared librairies: /usr/lib/perl5/site_perl/5.005/i586-lin ux/auto/Image/Magick/Magick.so: undefined symbol: SetWarningHandler Could anybody tell me what this means, and how I can get it run, I run Suse Linux 6.3 and I've installed Image Magick with the C++ and the Perl Modules. *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed May 17 16:07 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id QAA15770 for ; Wed, 17 May 2000 16:07:07 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id QAA04359 for ; Wed, 17 May 2000 16:07:06 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma004357; Wed, 17 May 00 16:06:40 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id KAA02079; Wed, 17 May 2000 10:05:01 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id JAA23880 for magick-outgoing; Wed, 17 May 2000 09:41:41 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Date: Wed, 17 May 2000 08:46:17 -0500 (CDT) From: Bob Friesenhahn X-Sender: bfriesen@scooby.simplesystems.org To: Martin Bobrovsky cc: ImageMagick Mailing List Subject: Re: watermarks/embossing In-Reply-To: <4.3.1.2.20000517112416.00c72e30@mail.dot.at> Message-ID: MIME-Version: 1.0 Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bob Friesenhahn Content-Type: TEXT/PLAIN; charset=US-ASCII Status: RO Content-Length: 1859 Lines: 53 If you can afford the Digimarc library (see http://www.digimarc.com/licensing/sdk.html & http://www.digimarc.com/news/pr00-13.html), Bill Radcliffe can send you source for an ImageMagick module to do professional-grade watermarking. ImageMagick's 'combine' utility supports simplistic hidden watermarking via its -stegano option. If you want a visible logo, you could use -compose to compose your logo on top of, or blended with, the base image. Your visible logo can be mostly transparent in order to not disturb the image too much. See this interesting article about digital watermarking: http://www.spie.org/web/oer/november/nov99/cover1.html Bob On Wed, 17 May 2000, Martin Bobrovsky wrote: > Hi! > > Can someone tell how I achieve the effect of embossing a text onto an > image? My intention is to "secure" images on the web by applying a symbol > or text which on the one hand does not affect the impression of the image > too much, but on the other hand, makes the image "unusable" for > professional printing purposes ... > > thanks, > martin > > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** > ====================================== Bob Friesenhahn bfriesen@simple.dallas.tx.us http://www.simplesystems.org/users/bfriesen *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-bugs@simple.dallas.tx.us Wed Jun 14 16:54 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id QAA25632 for ; Wed, 14 Jun 2000 16:54:28 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id QAA12167 for ; Wed, 14 Jun 2000 16:54:27 +0200 Received: from ns.simplesystems.org(204.252.75.242) by ns.ATComputing.nl via smap (V2.1) id xma012165; Wed, 14 Jun 00 16:54:12 +0200 Received: from localhost (localhost [127.0.0.1]) by ns.simplesystems.org (8.9.3/8.9.3) with ESMTP id JAA14556 for ; Wed, 14 Jun 2000 09:54:08 -0500 (CDT) From: magick-bugs@simple.dallas.tx.us Date: Wed, 14 Jun 2000 09:54:08 -0500 (CDT) Message-Id: <200006141454.JAA14556@ns.simplesystems.org> To: markov@ATComputing.nl Subject: Re: Annotate problems (PR#298) X-Loop: magick-bugs@simple.dallas.tx.us Content-Type: text Status: RO X-Status: A Content-Length: 307 Lines: 9 Thank you for submitting an ImageMagick bug report to magick-bugs@simplesystems.org. Your bug report is available on the web at the URL http://www.simplesystems.org/ImageMagick/bugs?findid=298 Report any problems with the bug tracking system itself to Bob Friesenhahn . From markov@ATComputing.nl Wed Jun 14 17:43:34 2000 Date: Wed, 14 Jun 2000 17:43:34 +0200 From: Mark Overmeer To: Cristy Subject: Re: your mail Message-ID: <20000614174334.G22766@atcmpg.ATComputing.nl> References: <8172.960997992@mystic> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <8172.960997992@mystic>; from cristy@mystic.es.dupont.com on Wed, Jun 14, 2000 at 11:53:11AM -0400 Status: RO X-Status: A Content-Length: 1403 Lines: 34 * Cristy (cristy@mystic.es.dupont.com) [000614 17:23]: > $img->Read("logo:"); > $text="I am a LumberJack"; > $poinsize=40; > my ($width, $height) = $img->Get('width', 'height'); > $img->Annotate > ( fill => 'yellow' > , text => $text > , font => > '-bitstream-charter-medium-r-normal--40-0-0-0-p-0-iso8859-1' > , gravity => 'SouthEast' > , 'x' => 5 > , 'y' => $poinsize+5 > ); > $img->Write(filename => "test.gif"); So: gravity work differently from my well known "anchor", where x,y defines a point and anchor the location of the point wrt the item to be put on the background. It was not clear from the docs. It what you propose a feature or a designed thing? You specify the coordinate of the right-top (NorthEast) wrt to the right-bottom (SouthEast). I expect that x=0,y=0,SouthWest will work wrt to NorthWest. It is not logical for me to treat North/South differently from East/West (designed before the fall of the Iron curtain?) And also: the text still appears in black. -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From cristy@mystic.es.dupont.com Wed Jun 14 17:23 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA27207 for ; Wed, 14 Jun 2000 17:23:28 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA12199 for ; Wed, 14 Jun 2000 17:23:27 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012197; Wed, 14 Jun 00 17:23:08 +0200 Received: from mystic.es.dupont.com (mystic.es.dupont.com [138.196.253.24]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id LAA26619 for ; Wed, 14 Jun 2000 11:23:06 -0400 (EDT) Received: (from cristy@localhost) by mystic.es.dupont.com (8.10.0.Beta12/8.10.0.Beta12) id e5EFrBI08173 for markov@ATComputing.nl; Wed, 14 Jun 2000 11:53:11 -0400 (EDT) Date: Wed, 14 Jun 2000 11:53:11 -0400 (EDT) From: Cristy Message-ID: <8172.960997992@mystic> Mime-Version: 1.0 To: markov@ATComputing.nl Content-Type: multipart/mixed; boundary="-" Status: RO X-Status: A Content-Length: 1056 Lines: 36 This is a MIME encoded message. Decode it with "munpack" or any other MIME reading software. Mpack/munpack is available via anonymous FTP in ftp.andrew.cmu.edu:pub/mpack/ --- Content-Type: application/octet-stream; name="test.pl" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="test.pl" Content-MD5: el1GVGE1xEpFTeim4lKdYA== ICAgdXNlIEltYWdlOjpNYWdpY2s7CiAgICRpbWc9SW1hZ2U6Ok1hZ2ljay0+bmV3OwogICAk aW1nLT5SZWFkKCJsb2dvOiIpOwogICAkdGV4dD0iSSBhbSBhIEx1bWJlckphY2siOwogICAk cG9pbnNpemU9NDA7CiAgIG15ICgkd2lkdGgsICRoZWlnaHQpID0gJGltZy0+R2V0KCd3aWR0 aCcsICdoZWlnaHQnKTsKICAgJGltZy0+QW5ub3RhdGUKICAgICAgKCBmaWxsICAgID0+ICd5 ZWxsb3cnCiAgICAgICwgdGV4dCAgICAgID0+ICR0ZXh0CiAgICAgICwgZm9udCAgICAgID0+ CictYml0c3RyZWFtLWNoYXJ0ZXItbWVkaXVtLXItbm9ybWFsLS00MC0wLTAtMC1wLTAtaXNv ODg1OS0xJwogICAgICAsIHBvaW50c2l6ZSA9PiAkcG9pbnNpemUKICAgICAgLCBncmF2aXR5 ICAgPT4gJ1NvdXRoRWFzdCcKICAgICAgLCAneCcgICAgICAgPT4gNQogICAgICAsICd5JyAg ICAgICA9PiAkcG9pbnNpemUrNQogICAgICApOwogICAkaW1nLT5Xcml0ZShmaWxlbmFtZSAg PT4gInRlc3QuZ2lmIik7Cgo= ----- From markov@ATComputing.nl Wed Jun 14 17:49:26 2000 Date: Wed, 14 Jun 2000 17:49:26 +0200 From: Mark Overmeer To: Cristy Subject: Re: your mail Message-ID: <20000614174926.H22766@atcmpg.ATComputing.nl> References: <200006141616.e5EGG3x19487@mystic.es.dupont.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <200006141616.e5EGG3x19487@mystic.es.dupont.com>; from cristy@mystic.es.dupont.com on Wed, Jun 14, 2000 at 12:16:03PM -0400 Status: RO Content-Length: 686 Lines: 17 * Cristy (cristy@mystic.es.dupont.com) [000614 17:46]: > > It was not clear from the docs. > > There is alot that is not clear in the docs. We're writing a book due > out next year to fix these sorts of problems. I'll certainly buy the book. But: will you also respond to the two remaining quesions from my previous mail? -- Thanks for the fast response, MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From cristy@mystic.es.dupont.com Wed Jun 14 17:46 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA27475 for ; Wed, 14 Jun 2000 17:46:29 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA12244 for ; Wed, 14 Jun 2000 17:46:28 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012242; Wed, 14 Jun 00 17:45:59 +0200 Received: from mystic.es.dupont.com (mystic.es.dupont.com [138.196.253.24]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id LAA26733 for ; Wed, 14 Jun 2000 11:45:58 -0400 (EDT) Received: (from cristy@localhost) by mystic.es.dupont.com (8.10.0.Beta12/8.10.0.Beta12) id e5EGG3x19487 for markov@ATComputing.nl; Wed, 14 Jun 2000 12:16:03 -0400 (EDT) Date: Wed, 14 Jun 2000 12:16:03 -0400 (EDT) From: Cristy Message-Id: <200006141616.e5EGG3x19487@mystic.es.dupont.com> To: markov@ATComputing.nl Subject: Re: your mail Content-Type: text Status: RO X-Status: A Content-Length: 152 Lines: 4 > It was not clear from the docs. There is alot that is not clear in the docs. We're writing a book due out next year to fix these sorts of problems. From cristy@mystic.es.dupont.com Wed Jun 14 17:56 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA27517 for ; Wed, 14 Jun 2000 17:55:59 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA12254 for ; Wed, 14 Jun 2000 17:55:58 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012252; Wed, 14 Jun 00 17:55:29 +0200 Received: from mystic.es.dupont.com (mystic.es.dupont.com [138.196.253.24]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id LAA26777 for ; Wed, 14 Jun 2000 11:55:28 -0400 (EDT) Received: (from cristy@localhost) by mystic.es.dupont.com (8.10.0.Beta12/8.10.0.Beta12) id e5EGPYM19527 for markov@ATComputing.nl; Wed, 14 Jun 2000 12:25:34 -0400 (EDT) Date: Wed, 14 Jun 2000 12:25:34 -0400 (EDT) From: Cristy Message-Id: <200006141625.e5EGPYM19527@mystic.es.dupont.com> To: markov@ATComputing.nl Subject: Re: your mail Content-Type: text Status: RO Content-Length: 189 Lines: 5 > But: will you also respond to the two > remaining quesions from my previous mail? Sure if you remind me what they are. I get upwards of 100+ e-mails a day so it's hard to keep track... From markov@ATComputing.nl Wed Jun 14 18:00:18 2000 Date: Wed, 14 Jun 2000 18:00:18 +0200 From: Mark Overmeer To: Cristy Subject: Re: your mail Message-ID: <20000614180018.I22766@atcmpg.ATComputing.nl> References: <8172.960997992@mystic> <20000614174334.G22766@atcmpg.ATComputing.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <20000614174334.G22766@atcmpg.ATComputing.nl>; from markov@ATComputing.nl on Wed, Jun 14, 2000 at 05:43:34PM +0200 Status: RO Content-Length: 1972 Lines: 47 >> But: will you also respond to the two >> remaining quesions from my previous mail? >Sure if you remind me what they are. I get upwards of 100+ e-mails a day >so it's hard to keep track... You replied just a few seconds earlier on my message below. I replied in a few seconds to it... but I understand you have to scan mail that fast. (I maintain 6 websites, so know getting large amounts of e-mail means) Thanks for the example anyway. * Mark Overmeer (markov@ATComputing.nl) [000614 17:43]: > * Cristy (cristy@mystic.es.dupont.com) [000614 17:23]: > > $img->Read("logo:"); > > $text="I am a LumberJack"; > > $poinsize=40; > > my ($width, $height) = $img->Get('width', 'height'); > > $img->Annotate > > ( fill => 'yellow' > > , text => $text > > , font => > > '-bitstream-charter-medium-r-normal--40-0-0-0-p-0-iso8859-1' > > , gravity => 'SouthEast' > > , 'x' => 5 > > , 'y' => $poinsize+5 > > ); > > $img->Write(filename => "test.gif"); > > So: gravity work differently from my well known "anchor", where > x,y defines a point and anchor the location of the point wrt the > item to be put on the background. It was not clear from the docs. > > It what you propose a feature or a designed thing? You specify the > coordinate of the right-top (NorthEast) wrt to the right-bottom > (SouthEast). I expect that x=0,y=0,SouthWest will work wrt to > NorthWest. It is not logical for me to treat North/South differently > from East/West (designed before the fall of the Iron curtain?) > > And also: the text still appears in black. > -- > MarkOv %-] > > ------------------------------------------------------------------------ > drs Mark A.C.J. Overmeer markov@ATComputing.nl > AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl > http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From markov@ATComputing.nl Wed Jun 14 18:17:41 2000 Date: Wed, 14 Jun 2000 18:17:41 +0200 From: Mark Overmeer To: Cristy Subject: Re: your mail Message-ID: <20000614181741.J22766@atcmpg.ATComputing.nl> References: <200006141634.e5EGYfI19547@mystic.es.dupont.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="5vNYLRcllDrimb99" X-Mailer: Mutt 1.0pre4i In-Reply-To: <200006141634.e5EGYfI19547@mystic.es.dupont.com>; from cristy@mystic.es.dupont.com on Wed, Jun 14, 2000 at 12:34:41PM -0400 Status: RO Content-Length: 4533 Lines: 111 --5vNYLRcllDrimb99 Content-Type: text/plain; charset=us-ascii * Cristy (cristy@mystic.es.dupont.com) [000614 18:05]: > > It what you propose a feature or a designed thing? You specify the > > coordinate of the right-top (NorthEast) wrt to the right-bottom > > (SouthEast). I expect that x=0,y=0,SouthWest will work wrt to > > NorthWest. It is not logical for me to treat North/South differently > > from East/West (designed before the fall of the Iron curtain?) > > I'll send you a script that illustrates how gravity works. The x,y > offset basically creates a bounding box within the image and the text > is placed relative to the virtual bounding box. As you can see in your own demo script, it is not consequent: W and E are inside the square, while N and S are outside... in my run. Image attached. I changed the line-color you yellow (stroke) which worked, but it still does not work for the text. > Are you using ImageMagick 5.2.0? When I used the script I sent the > text color was indeed yellow. The latest 5.2.0 (less than 48 hours ago directly from imagemagick.org). Sorry, no more time to investigate for me today: have to go... -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl --5vNYLRcllDrimb99 Content-Type: image/gif Content-Disposition: attachment; filename="test.gif" Content-Transfer-Encoding: base64 R0lGODlhkAGQAfECAP///wAAAP//AAAAACH5BAAAAAAALAAAAACQAZABAAL+hI+py+0Po5y0 2ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1is1q t9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7P6/f8vv8PGCg4SFhoeIiYqLjI2Oj4CBkpOUlZ aXmJmam5ydnp+QkaKjpKWmp6ipqqusra6voKGys7S1tre4ubq7vL2+v7CxwsPExcbHyMnKy8 zNzs/AwdLT1NXW19jZ2tvc3d7f0NHi4+Tl5ufo6err7O3u7+Dh8vP09fb3+Pn6+/z9/v/w8w oMCBBAsaPIgwocIgARo2VOAwokQAEh8eiLhiYoL+ijI0IqgIkmM6jx8DXHRY0iRElRkxrqxB 8mTKl+pcbmRJ0eJJnAZ4qrBZ0gZQmUEhrouZ8+ZNnz5TINU54ylPqBePmkRZdKfSrCweYiVK wyvVsU3ZWfyadOZOnGVRnIVKNcZbtlOZmmUJlylduDB05hWKl+5WsCMDB16JN63iFn4bA9ba sy7Iu2rjYhWrsq3bvZEfQyY7WFtIm2SvNkWZ+Szi0RBGfy2t2HVcCbIPzwS9MSXrbZZNL/A4 lLHexR2H4/5IefVvtMG7nkZbfPlxeLOb55QcXTnM59ORF2YAHTLhF7Ove0Yc2ju22uzbu38P P778+fTrt1+meW35tqf+5WoUkFtUSPUUWW204XcGgGbkBwyDWyhYhoO+SJgFhGRQyAuGV1g4 hoa6eFgFh2KAiAuJU4gYhom2qBgFimCwSAuMT7j4hYyy2NgEjV7gCAuPS+jYhY+uCJkEkFwQ yQqSRxi5hZKqOFkEk1pAiQqVQ0iZhZWmaBkEllhwSQqYP3h5hZiimNkDmVagCQqbO6hZhZue yJkDnFTQyQmeN9g5hZ6a+FkDn1IAigmhMwgahaGWKBoDolAwSgmkLzj6hKSSWNoCpU5gCgmn K2jahKeOiJoCqEyQygiqJ5i6hKqKuFoCq0rAigitI8iahK2G6BoCrkjwSgiwH/h6hLCCGNv+ AbFGIAsIsxsoW4SzfkibAbREUMsHthdYO4S2enhbAbdCgIsHuROIyxCCZqALhLl2uBsBuz/A Swe9D8jrg71y6NsAvj3wCwfAC/jLg8BuGJwAwTsgzAbDByisg8NqSAwAxDlQjAbFFuOA8Rka e6xuGRvf0PGCCYKszMcmp3zyysmoHGHIZIwslMxj0AyTzWLgHJbOYfAclc9gAN2R0F8QLZfR XiDdl9JdME2e01xA7ULJMa+L8sstX6011i4jA/OFUj+YNdhbi82y11ybrTbaXYtc9jFhdzi2 FlQzVneFcRsz94h5Y3F3V39vuHcxfac4uBWBZ5R4iIUTc/iLjVP+sfhPk5/4+DCR13i5FJU7 1XmLmQuz+Y6hQ/G5W6fPOHowpQe5uhOpn2C12zO33mAEHE22FkOTucregWm3xlx1nGKkoHXt 9ib828RjF2C+OllYnu+/Nc82bdCr9y9OHNpaHfZyUwBddxFD9X2uKtZO9wTF8zUvT7M7YJn7 +AmAf/76749/Q/pH9D/+CXCABCygAQnovwMqcIEMbGABE5g/CB6QfX4jn19iczz5VSok9hue 9lJjHopYDwHza4D5TIgfAy1FhCGUzG5AoEKquEiFTpENVwhUINckDjjhKRj6NmgU8fHNAkBR 3sV+uKn1Na581TsfS0oInrI4iIKII+L+Cbv3xOgtS4q6m9xwroUSCDVxeehpjRevt8UBjSt4 ZvTgzXD3i9cdKXY5guOEztY+573xa+NrWx6zdzs+DtGPFdTjzuzYCzk2iY5MgOIIqCg5QlbR kD9DZIbwWEhA7nFtfYSbIA2HyUlq8pCfhFwoI0nJoVlyF4qcEiN/tMoPnZJzbiQlJwfpyVuC UpKoHGUlS6m5WZqulr/UpSl5SctUHi2WuWhlll6pBEeKAJLJDKQxg4nMYSpzacwskTBhR0xV ApN035xjOJc5TteVc5Hn5GY6c5dNcG7zad28hTO/BM0i1XNF63RlO+n5zjj285n/nNo+a3HP MuUTCdIMATX+tWlN23Uyon+c6CYlikuKZtKitsToLnPp0WOCtKIZvShJP6pRUXK0mCHF5kg3 WtKOnlSkKe3lSsV5TXLG05zzNGhA77hTdvaUbD9N5EDxWVCi5lSdQfXnUO120BgdVaFJhWpR L9lUgj5Vb1dl5VTXtNAlRXUWCQVrVbm6VHi+VKUxZelMXVrTat4UnWkVaFaRulXAjfVGX41T WI3QUBim0D6ELaxhD4vYxMJnIYwNEu92J5IchoV3C3ssDdHxmsbk5TmTNYwPPSue8ZhjOky0 y2TTQ7K6oJaF39EiccKjp/pVNoiiZS1mSdudMf7kigJSbW3v0sT3sQUwut1OcE3+a5Xj6oZ7 vfWU8nhbDjW+BoMcMyJxjUdZ4GK3M5dxYnGb+8XfVuOyy0VPajKzGg5WgLy9y6F6OcBeyd7Q tvHlDWxJ08PUfre5831oH7ijHfnmrIwck858zRJFA6tlwDQp8HIObNvocpbAnUntg4944QrT 9hybReFqs1MgHy5Yw6EdbXY3XJXqRta7+K1vY18M4xjLeMY0rrGNb4zjHOt4xzzusY9/DOQg C3nIRC6ykY+M5CQreclMbrKTnwzlKEt5ylSuspWvjOUsa3nLXO6yl78M5jCLecxkLrOZz4zm NKt5zWxus5vfDOc4y3nOdK6zne+M5zzrec987rOf/wwg6EALetCELrShD43oRCt60YxutKMf DelIS3rSlF50AQAAOw== --5vNYLRcllDrimb99-- From cristy@mystic.es.dupont.com Wed Jun 14 18:05 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA28005 for ; Wed, 14 Jun 2000 18:04:59 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA12271 for ; Wed, 14 Jun 2000 18:04:58 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012267; Wed, 14 Jun 00 18:04:36 +0200 Received: from mystic.es.dupont.com (mystic.es.dupont.com [138.196.253.24]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id MAA26846 for ; Wed, 14 Jun 2000 12:04:35 -0400 (EDT) Received: (from cristy@localhost) by mystic.es.dupont.com (8.10.0.Beta12/8.10.0.Beta12) id e5EGYfI19547 for markov@ATComputing.nl; Wed, 14 Jun 2000 12:34:41 -0400 (EDT) Date: Wed, 14 Jun 2000 12:34:41 -0400 (EDT) From: Cristy Message-Id: <200006141634.e5EGYfI19547@mystic.es.dupont.com> To: markov@ATComputing.nl Subject: Re: your mail Content-Type: text Status: RO X-Status: A Content-Length: 670 Lines: 14 > It what you propose a feature or a designed thing? You specify the > coordinate of the right-top (NorthEast) wrt to the right-bottom > (SouthEast). I expect that x=0,y=0,SouthWest will work wrt to > NorthWest. It is not logical for me to treat North/South differently > from East/West (designed before the fall of the Iron curtain?) I'll send you a script that illustrates how gravity works. The x,y offset basically creates a bounding box within the image and the text is placed relative to the virtual bounding box. > And also: the text still appears in black. Are you using ImageMagick 5.2.0? When I used the script I sent the text color was indeed yellow. From cristy@eplrx7.es.dupont.com Wed Jun 14 18:05 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA28006 for ; Wed, 14 Jun 2000 18:04:59 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA12272 for ; Wed, 14 Jun 2000 18:04:58 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012268; Wed, 14 Jun 00 18:04:47 +0200 Received: from eplrx7.es.dupont.com (eplrx7.es.dupont.com [138.196.252.7]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id MAA26850 for ; Wed, 14 Jun 2000 12:04:46 -0400 (EDT) Received: from fantasia.es.dupont.com (fantasia.es.dupont.com [138.196.253.22]) by eplrx7.es.dupont.com (8.9.3/8.9.3) with ESMTP id MAA06403 for ; Wed, 14 Jun 2000 12:04:45 -0400 (EDT) Received: by fantasia.es.dupont.com (8.9.3+Sun) id MAA01601; Wed, 14 Jun 2000 12:03:33 -0400 (EDT) From: Cristy Date: Wed, 14 Jun 2000 12:03:33 -0400 (EDT) Message-ID: <1600.960998613@fantasia> Mime-Version: 1.0 To: markov@ATComputing.nl Content-Type: multipart/mixed; boundary="-" Status: RO Content-Length: 2023 Lines: 49 This is a MIME encoded message. Decode it with "munpack" or any other MIME reading software. Mpack/munpack is available via anonymous FTP in ftp.andrew.cmu.edu:pub/mpack/ --- Content-Type: application/octet-stream; name="gravity.pl" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="gravity.pl" Content-MD5: faVMCotdBUpHJCDAv7HACA== IyEvdXNyL2xvY2FsL2Jpbi9wZXJsCgp1c2UgSW1hZ2U6Ok1hZ2ljazsKCiRwaWMgPSBJbWFn ZTo6TWFnaWNrLT5uZXcoc2l6ZT0+IjQwMHg0MDAiKTsKJHBpYy0+UmVhZCgieGM6d2hpdGUi KTsKCiR4ID0gMTAwOwokeSA9IDEwMDsKJHBpYy0+RHJhdyhwcmltaXRpdmU9PidsaW5lJyxw b2ludHM9PiIyMDAsMTAwIDIwMCwzMDAiLHN0cm9rZT0+J2JsYWNrJyk7CiRwaWMtPkRyYXco cHJpbWl0aXZlPT4nbGluZScscG9pbnRzPT4iMTAwLDIwMCAzMDAsMjAwIixzdHJva2U9Pidi bGFjaycpOwokcGljLT5EcmF3KHByaW1pdGl2ZT0+J3JlY3RhbmdsZScscG9pbnRzPT4iMTAw LDEwMCAzMDAsMzAwIixzdHJva2U9PidibGFjaycpOwokcGljLT5Bbm5vdGF0ZShwb2ludHNp emU9PjI0LGZvbnQ9PidUaW1lcycsdGV4dD0+Ii1OVy0iLGdyYXZpdHk9PiJOb3J0aFdlc3Qi LHg9PiR4LHk9PiR5KTsKJHBpYy0+QW5ub3RhdGUocG9pbnRzaXplPT4yNCxmb250PT4nVGlt ZXMnLHRleHQ9PiItTi0iLGdyYXZpdHk9PiJOb3J0aCIseD0+JHgseT0+JHkpOwokcGljLT5B bm5vdGF0ZShwb2ludHNpemU9PjI0LGZvbnQ9PidUaW1lcycsdGV4dD0+Ii1ORS0iLGdyYXZp dHk9PiJOb3J0aEVhc3QiLHg9PiR4LHk9PiR5KTsKJHBpYy0+QW5ub3RhdGUocG9pbnRzaXpl PT4yNCxmb250PT4nVGltZXMnLHRleHQ9PiItRS0iLGdyYXZpdHk9PiJFYXN0Iix4PT4keCx5 PT4keSk7CiRwaWMtPkFubm90YXRlKHBvaW50c2l6ZT0+MjQsZm9udD0+J1RpbWVzJyx0ZXh0 PT4iLUMtIixncmF2aXR5PT4iQ2VudGVyIix4PT4keCx5PT4keSk7CiRwaWMtPkFubm90YXRl KHBvaW50c2l6ZT0+MjQsZm9udD0+J1RpbWVzJyx0ZXh0PT4iLVNFLSIsZ3Jhdml0eT0+IlNv dXRoRWFzdCIseD0+JHgseT0+JHkpOwokcGljLT5Bbm5vdGF0ZShwb2ludHNpemU9PjI0LGZv bnQ9PidUaW1lcycsdGV4dD0+Ii1TLSIsZ3Jhdml0eT0+IlNvdXRoIix4PT4keCx5PT4keSk7 CiRwaWMtPkFubm90YXRlKHBvaW50c2l6ZT0+MjQsZm9udD0+J1RpbWVzJyx0ZXh0PT4iLVNX LSIsZ3Jhdml0eT0+IlNvdXRoV2VzdCIseD0+JHgseT0+JHkpOwokcGljLT5Bbm5vdGF0ZShw b2ludHNpemU9PjI0LGZvbnQ9PidUaW1lcycsdGV4dD0+Ii1XLSIsZ3Jhdml0eT0+Ildlc3Qi LHg9PiR4LHk9PiR5KTsKCiRwaWMtPldyaXRlKGZpbGVuYW1lPT4idGVzdC5naWYiKTsKc3lz dGVtKCJkaXNwbGF5IHRlc3QuZ2lmIik7Cg== ----- From magick-owner@unca-don.wizards.dupont.com Thu Jun 29 18:01 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA10314 for ; Thu, 29 Jun 2000 18:01:15 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA00740 for ; Thu, 29 Jun 2000 18:01:14 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma000732; Thu, 29 Jun 00 18:01:07 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id MAA07078; Thu, 29 Jun 2000 12:00:36 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA10740 for magick-outgoing; Thu, 29 Jun 2000 11:48:25 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <395B7519.F40670B@northrim.net> Date: Thu, 29 Jun 2000 10:11:05 -0600 From: Karl Sloth X-Mailer: Mozilla 4.72 [en] (X11; I; Linux 2.2.14 i586) X-Accept-Language: en MIME-Version: 1.0 To: magick@wizards.dupont.com Subject: mailing list archives Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Karl Sloth Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 552 Lines: 17 Hi all- The folks at The Aims Group have added the ImageMagick mailing list to their online mailing list archives. They have a searchable history going back to 1996. Very handy. http://marc.theaimsgroup.com/?l=imagemagick&r=1&w=2 -karl *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Tue Jul 4 12:33:47 2000 Date: Tue, 4 Jul 2000 12:33:47 +0200 From: Mark Overmeer To: magick-bugs@simple.dallas.tx.us Subject: Re: Annotate problems (PR#298) Message-ID: <20000704123347.F2009@atcmpg.ATComputing.nl> References: <200006141454.JAA14556@ns.simplesystems.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <200006141454.JAA14556@ns.simplesystems.org>; from magick-bugs@simple.dallas.tx.us on Wed, Jun 14, 2000 at 09:54:08AM -0500 Status: RO Content-Length: 573 Lines: 12 * magick-bugs@simple.dallas.tx.us (magick-bugs@simple.dallas.tx.us) [000614 16:54]: > Your bug report is available on the web at the URL > http://www.simplesystems.org/ImageMagick/bugs?findid=298 Both indicated problems are fixed in 5.2.1 -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Sun Jul 2 02:40 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id CAA01634 for ; Sun, 2 Jul 2000 02:40:25 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id CAA03454 for ; Sun, 2 Jul 2000 02:40:24 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma003450; Sun, 2 Jul 00 02:40:07 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id UAA32165; Sat, 1 Jul 2000 20:39:55 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id UAA16952 for magick-outgoing; Sat, 1 Jul 2000 20:30:03 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <395E8F1F.B804FCB7@interak.com> Date: Sat, 01 Jul 2000 16:38:55 -0800 From: Marc Grober X-Mailer: Mozilla 4.61 [en] (X11; I; UnixWare 5 i386) MIME-Version: 1.0 To: magick@wizards.dupont.com Subject: delegates.mgk set-up for unixware printing Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Marc Grober Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 1403 Lines: 45 Under unixware to print from displayt to an HP laserjet (usual command to print postscript being lp -dhpraw -Tpostscript), I changed the delegates.mgk file (which I found in /usr/local/share/Magick as installed from the SCO skunkware CD) from ps<=print /usr/bin/lp -c -s %i to ps<=print /usr/bin/lp -dhpraw -c -s -Tpostscript %i and it appears everything is working. The -c make an immediate copy and feeds it to the spooler and without it you get an error message (below) which my guess is is a bit misleading in that I have to assume that what is really happening is that without the -c IM is not passing anything to the spooler........ ****************************************************************************** Subject: Status of lp request hpraw-347 Your request hpraw-347 destined for hpraw encountered an error during filtering. Reason for failure: UX:lp: ERROR: Cannot read the file "/tmp/hacienda.jpg". TO FIX: See if it still exists and is readable, or consult your system administrator. *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Mon Jul 3 16:12 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id QAA28389 for ; Mon, 3 Jul 2000 16:12:41 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id QAA05092 for ; Mon, 3 Jul 2000 16:12:40 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma005088; Mon, 3 Jul 00 16:12:32 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id KAA12560; Mon, 3 Jul 2000 10:12:03 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id KAA20768 for magick-outgoing; Mon, 3 Jul 2000 10:01:07 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <395BACF9.CFA6970@interak.com> Date: Thu, 29 Jun 2000 12:09:30 -0800 From: Marc Grober X-Mailer: Mozilla 4.61 [en] (X11; I; UnixWare 5 i386) MIME-Version: 1.0 To: magick@wizards.dupont.com Subject: printing solution for UW 7.1 Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Marc Grober Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 1500 Lines: 46 Under unixware to print from displayt to an HP laserjet (usual command to print postscript being lp -dhpraw -Tpostscript), I changed the delegates.mgk file (which I found in /usr/local/share/Magick as installed from the SCO skunkware CD) from ps<=print /usr/bin/lp -c -s %i to ps<=print /usr/bin/lp -dhpraw -c -s -Tpostscript %i and it appears everything is working. The -c make an immediate copy and feeds it to the spooler and without it you get an error message (below) which my guess is is a bit misleading in that I have to assume that what is really happening is that without the -c IM is not passing anything to the spooler........ ****************************************************************************** Subject: Status of lp request hpraw-347 Your request hpraw-347 destined for hpraw encountered an error during filtering. Reason for failure: UX:lp: ERROR: Cannot read the file "/tmp/hacienda.jpg". TO FIX: See if it still exists and is readable, or consult your system administrator. I have tried this with jpegs, gifs etc and in quite a number of locations Placed the -c -s back in *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Fri Jul 7 09:27 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id JAA27505 for ; Fri, 7 Jul 2000 09:27:32 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id JAA11016 for ; Fri, 7 Jul 2000 09:27:31 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma011014; Fri, 7 Jul 00 09:27:21 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id DAA06530; Fri, 7 Jul 2000 03:26:27 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id DAA06369 for magick-outgoing; Fri, 7 Jul 2000 03:15:15 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Date: Fri, 7 Jul 2000 17:24:12 +1000 From: Martien Verbruggen To: Geoff Armstrong Cc: ImageMagick Mailing List Subject: Re: converts new sharpen factors Message-ID: <20000707172412.C23320@martien.heliotrope.home> References: <00070515380200.26142@berlioz> Mime-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.2.2i In-Reply-To: <00070515380200.26142@berlioz>; from geofstro@monaco.mc on Wed, Jul 05, 2000 at 03:35:26PM +0200 Organisation: Heliotrope Productions Pty. Ltd. Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Martien Verbruggen Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 1483 Lines: 36 -- Geoff Armstrong wrote on Wed 5 Jul 15:35 PM -- > Hi, > > I know the sharpen factors for convert have changed since 5.2.0; but I > can't find the new factors documented anywhere. The factors are no longer really factors, but orders for a convolution kernel, if I've understood it all correctly. Since convolution has become available in ImageMagick, many of the old filters have been rewritten to use a kernel (blur, sharpen, charcoal, emboss, edge). The convert manual page mentions that good values are odd numbers between 3 and 31. Martien PS. If you don't know what convolution is: apply a matrix to each pixel, and it's surrounding neighbors covered by the matrix. The values of each covered pixel get multiplied by the matrix cell's value, and all added together. The new value for the target pixel is this sum. The 'order' that I talked about above is the height and width of the matrix involved (in ImageMagick they're always square). -- Martien Verbruggen | Interactive Media Division | "In a world without fences, Commercial Dynamics Pty. Ltd. | who needs Gates?" NSW, Australia | *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Fri Jul 7 17:55 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA13560 for ; Fri, 7 Jul 2000 17:55:42 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA15121 for ; Fri, 7 Jul 2000 17:55:42 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma015105; Fri, 7 Jul 00 17:55:27 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id LAA24776; Fri, 7 Jul 2000 11:54:30 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA07897 for magick-outgoing; Fri, 7 Jul 2000 11:44:52 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Date: Fri, 7 Jul 2000 12:23:40 -0400 (EDT) From: Cristy Message-Id: <200007071623.e67GNev10760@mystic.es.dupont.com> To: magick@wizards.dupont.com Subject: New ImageMagick mailing list Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Cristy Content-Type: text Status: RO Content-Length: 1242 Lines: 31 *********************************************************************** This list is being decommissioned. Please join one or more of the new ImageMagick mailing lists as described at http://www.imagemagick.org/www/magick-list.html. *********************************************************************** In response to a number of suggestions and/or complaints about the magick@wizards.dupont.com ImageMagick mailing list, I have created three new lists: magick-user@imagemagick.org magick-deveoper@imagemagick.org magick-announce@imagemagick.org See http://www.imagemagick.org/www/magick-list.html for instructions on joining and/or posting. I will keep the current list at magick@wizards.dupont.com running for the next couple of months to cause the least amount of disruption. At your convenience unsubscribe from magick@wizards.dupont.com and choose one of the lists above, whichever is appropriate. *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Sat Jul 8 10:27:08 2000 Date: Sat, 8 Jul 2000 10:27:08 +0200 From: Mark Overmeer To: majordomo@imagemagick.org Subject: subscribe Message-ID: <20000708102708.B1570@atcmpg.ATComputing.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i Status: RO Content-Length: 27 Lines: 1 subscribe magick-developer From markov@ATComputing.nl Sat Jul 8 13:53:18 2000 Date: Sat, 8 Jul 2000 13:53:18 +0200 From: Mark Overmeer To: Majordomo@imagemagick.org Subject: Re: Confirmation for subscribe magick-developer Message-ID: <20000708135318.A2549@atcmpg.ATComputing.nl> References: <200007080855.EAA15589@imagemagick.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <200007080855.EAA15589@imagemagick.org>; from Majordomo@imagemagick.org on Sat, Jul 08, 2000 at 04:55:40AM -0400 Status: RO Content-Length: 63 Lines: 1 auth 44b84310 subscribe magick-developer markov@ATComputing.nl From Majordomo-Owner@imagemagick.org Sat Jul 8 10:27 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id KAA01750 for ; Sat, 8 Jul 2000 10:27:39 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id KAA25253 for ; Sat, 8 Jul 2000 10:27:38 +0200 Received: from magick.imagemagick.org(38.220.172.2) by ns.ATComputing.nl via smap (V2.1) id xma025238; Sat, 8 Jul 00 10:27:26 +0200 Received: (from majordomo@localhost) by imagemagick.org (8.9.3/8.9.3) id EAA15589; Sat, 8 Jul 2000 04:55:40 -0400 Date: Sat, 8 Jul 2000 04:55:40 -0400 Message-Id: <200007080855.EAA15589@imagemagick.org> X-Authentication-Warning: magick.imagemagick.org: majordomo set sender to Majordomo-Owner@imagemagick.org using -f To: markov@ATComputing.nl From: Majordomo@imagemagick.org Subject: Confirmation for subscribe magick-developer Reply-To: Majordomo@imagemagick.org Content-Type: text Status: RO X-Status: A Content-Length: 822 Lines: 25 -- Someone (possibly you) has requested that your email address be added to or deleted from the mailing list "magick-developer@imagemagick.org". If you really want this action to be taken, please send the following commands (exactly as shown) back to "Majordomo@imagemagick.org": auth 44b84310 subscribe magick-developer markov@ATComputing.nl If you do not want this action to be taken, simply ignore this message and the request will be disregarded. If your mailer will not allow you to send the entire command as a single line, you may split it using backslashes, like so: auth 44b84310 subscribe magick-developer \ markov@ATComputing.nl If you have any questions about the policy of the list owner, please contact "magick-developer-approval@imagemagick.org". Thanks! Majordomo@imagemagick.org From owner-magick@imagemagick.org Sat Jul 8 13:53 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id NAA02564 for ; Sat, 8 Jul 2000 13:53:33 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id NAA00576 for ; Sat, 8 Jul 2000 13:53:28 +0200 Received: from magick.imagemagick.org(38.220.172.2) by ns.ATComputing.nl via smap (V2.1) id xma000568; Sat, 8 Jul 00 13:53:23 +0200 Received: (from majordomo@localhost) by imagemagick.org (8.9.3/8.9.3) id IAA16219; Sat, 8 Jul 2000 08:21:42 -0400 Date: Sat, 8 Jul 2000 08:21:42 -0400 Message-Id: <200007081221.IAA16219@imagemagick.org> X-Authentication-Warning: magick.imagemagick.org: majordomo set sender to owner-magick@imagemagick.org using -f To: markov@ATComputing.nl From: Majordomo@imagemagick.org Subject: Welcome to magick-developer Reply-To: Majordomo@imagemagick.org Content-Type: text Status: RO Content-Length: 11286 Lines: 274 -- Welcome to the magick-developer mailing list! Please save this message for future reference. Thank you. If you ever want to remove yourself from this mailing list, you can send mail to with the following command in the body of your email message: unsubscribe magick-developer or from another account, besides markov@ATComputing.nl: unsubscribe magick-developer markov@ATComputing.nl If you ever need to get in contact with the owner of the list, (if you have trouble unsubscribing, or have questions about the list itself) send email to . This is the general rule for most mailing lists when you need to contact a human. Here's the general information for the list you've subscribed to, in case you don't already have it: The ImageMagick mailing list (magick@wizards.dupont.com) is a low noise and subject oriented mailing list. The subject is the discussion of ImageMagick software and its use. Although the list is unmoderated, do not post off-topic messages to the list. Off-topic messages will result in the offender being silently removed from the list and prevented from rejoining. Please follow these guidelines when posting or responding to posted messages: 1. postings must be related to ImageMagick, PerlMagick, CineMagick, or WebMagick. Here is an example of what not to post: Does anyone know of a program that converts WWF to JPG on the Mac? Post these to comp.graphics instead. 2. postings should be concise but provide enough detail for readers to discern what the problem is and respond with a solution. Here is an example of what not to post: I downloaded ImageMagick and it doesn't work. What's up? Yes, I have seen these messages. More detail is needed for a proper response. 3. responses should be sent to the author, and not the list, if the response is not of general interest. For example, I'm converting libMagick to a C++ class library. Anyone want to help? Discuss this privately with the author and make a general announcement when you complete your work. 4. Only relevant portions of a message should be quoted. Do not quote the entire message, for example, and give a one line response. 5. Do not post administriva messages such as "How do I unsubscribe from the list?" Instead, see http://www.imagemagick.org/www/magick-list.html for help. 6. Do not post test messages to the list. An archive of all messages posted to the mailing list is available to peruse. See ftp://ftp.wizards.dupont.com/pub/ImageMagick/mailing-list You can also browse or search the archive. See http://marc.theaimsgroup.com/?l=imagemagick&r=1&w=2 * * * ImageMagick is a robust collection of tools and libraries to read, write, and manipulate an image in many image formats (over 68 major formats) including popular formats like TIFF, JPEG, PNG, PDF, Photo CD, and GIF. With ImageMagick you can create images dynamically, making it suitable for Web applications. You can also resize, rotate, sharpen, color reduce, or add special effects to an image and save your completed work in the same or differing image format. Image processing operations are available from the command line, as well as through C, C++, and PERL-based programming interfaces. Here is just a few examples of what ImageMagick can do: Convert an image from one format to another (e.g. TIFF to GIF) Resize, rotate, sharpen, color reduce, or add special effects to an image Create a montage of image tumbnails Create a transparent image suitable for use on the Web Turn a group of images into a GIF animation sequence Create a composite image by combining several separate images Draw shapes or text on an image Decorate an image with a border or frame Describe the format and characteristics of an image You can access ImageMagick functions directly from the command line using the ImageMagick tools convert, mogrify, montage, combine, or identify. Use the display program to interactively manipulate your images or animate an image sequence from a graphical panel. Finally you have access to the various image manipulation methods directly from your favorite application development environment: Perl, C++, C, or Java. These programs and much more are explained by following the links from this page or read the ImageMagick Users Guide. ImageMagick is known to compile and run on virtually any Unix. system and Linux. It also runs under Windows 2000, Windows 95/98, Macintosh, VMS, and OS2. See the install guide for compiling instructions. Pre-compiled binaries are available for some of the more popular operating systems. The offical ImageMagick web page is: http://ww.imagemagick.org/ ImageMagick is available via ftp as ftp://ftp.wizards.dupont.com/pub/ImageMagick Other versions are available as ftp://ftp.wizards.dupont.com/pub/ImageMagick/binaries ftp://ftp.wizards.dupont.com/pub/ImageMagick/mac ftp://ftp.wizards.dupont.com/pub/ImageMagick/nt ftp://ftp.wizards.dupont.com/pub/ImageMagick/vms ftp://ftp.wizards.dupont.com/pub/ImageMagick/linux * * * * * * * * * ImageMagick Tools display Display is a machine architecture independent image and display program. It can display an image on any workstation display running an X server. Display can read and write many of the more popular image formats (e.g. JPEG, TIFF, PNM, Photo CD, etc.). You can perform these functions on the image: o load an image from a file o display the next image o display the former image o display a sequence of images as a slide show o write the image to a file o print the image to a Postscript printer o delete the image file o create a Visual Image Directory o select the image to display by its thumbnail rather than name o undo last image transformation o copy a region of the image o paste a region to the image o restore the image to its original size o refresh the image o half the image size o double the image size o resize the image o crop the image o cut the image o flop image in the horizontal direction o flip image in the vertical direction o rotate the image 90 degrees clockwise o rotate the image 90 degrees counter-clockwise o rotate the image o shear the image o trim the image edges o invert the colors of the image o vary the color brightness o vary the color saturation o vary the image hue o gamma correct the image o sharpen the image contrast o dull the image contrast o perform histogram equalization on the image o perform histogram normalization on the image o negate the image colors o convert the image to grayscale o set the maximum number of unique colors in the image o reduce the speckles within an image o eliminate peak noise from an image o detect edges within the image o emboss an image o oil paint an image o segment the image by color o annotate the image with text o draw on the image o edit an image pixel color o edit the image matte information o composite an image with another o add a border to the image o add an image comment o apply image processing techniques to a region of interest o display information about the image o display information about this program o display image to background of a window o set user preferences o discard all images and exit program o change the level of magnification o display images specified by a World Wide Web (WWW) uniform resource locator (URL) import Import reads an image from any visible window on an X server and outputs it as an image file. You can capture a single window, the entire screen, or any rectangular portion of the screen. You can use display (see display(1)) utility for redisplay, printing, editing, formatting, archiving, image processing, etc. of the captured image. The target window can be specified by id, name, or may be selected by clicking the mouse in the desired window. If you press a button and then drag, a rectangle will form which expands and contracts as the mouse moves. To save the portion of the screen defined by the rectangle, just release the button. The keyboard bell is rung once at the beginning of the screen capture and twice when it completes. animate Animate displays a sequence of images on any workstation display running an X server. Animate first determines the hardware capabilities of the workstation. If the number of unique colors in an image is less than or equal to the number the workstation can support, the image is displayed in an X window. Otherwise the number of colors in the image is first reduced to match the color resolution of the workstation before it is displayed. This means that a continuous-tone 24 bits/pixel image can display on a 8 bit pseudo-color device or monochrome device. In most instances the reduced color image closely resembles the original. Alternatively, a monochrome or pseudo-color image sequence can display on a continuous-tone 24 bits/pixels device. montage Montage creates a composite image by combining several separate images. The images are tiled on the composite image with the name of the image optionally appearing just below the individual tile. convert Convert converts an input file using one image format to an output file with a differing image format. By default, the image format is determined by it's magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify file as - for standard input or output. If file has the extension .Z, the file is decoded with uncompress. mogrify Mogrify transforms an image or a sequence of images. These transforms include image scaling, image rotation, color reduction, and others. The transmogrified image overwrites the original image. identify describes the format and characteristics of one or more image files. It will also report if an image is incomplete or corrupt. The information displayed includes the scene number, the file name, the width and height of the image, whether the image is colormapped or not, the number of colors in the image, the number of bytes in the image, the format of the image (JPEG, PNM, etc.), and finally the number of seconds it took to read and process the image. combine Combine combines images to create new images. From markov@ATComputing.nl Wed Jul 26 13:32:31 2000 Date: Wed, 26 Jul 2000 13:32:31 +0200 From: Mark Overmeer To: Chris Wareham Subject: Re: core dump in simple ImageMagick example Message-ID: <20000726133231.G25170@atcmpg.ATComputing.nl> References: <397C6C6B.989E4BB2@catchword.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <397C6C6B.989E4BB2@catchword.com>; from chris.wareham@catchword.com on Mon, Jul 24, 2000 at 05:18:51PM +0100 Status: RO Content-Length: 2223 Lines: 55 * Chris Wareham (chris.wareham@catchword.com) [000724 18:24]: > *********************************************************************** > This list is being decommissioned. Please join one or more of the new > ImageMagick mailing lists as described at > http://www.imagemagick.org/www/magick-list.html. > *********************************************************************** > > The following snippet of code coew dumps on ReadImage(): > > GetExceptionInfo(&exception); > image_info = CloneImageInfo((ImageInfo *)NULL); > > strcpy(image_info->filename, IMAGEDIR); > strcat(image_info->filename, "/"); > strcat(image_info->filename, filename); > > image = ReadImage(image_info, &exception); > if(image == (Image *)NULL) { > log_error("unable to read image '%s'", filename); > return; > } > > The debugger output is the following: > > Program received signal SIGSEGV, Segmentation fault. > 0x403a0058 in _IO_getc (fp=0x67616d69) at getc.c:39 > 39 getc.c: No such file or directory. > (gdb) bt > #0 0x403a0058 in _IO_getc (fp=0x67616d69) at getc.c:39 > #1 0x4005eb8d in SetImageInfo () from /usr/local/lib/libMagick.so.5 > #2 0x4003c91e in ReadImage () from /usr/local/lib/libMagick.so.5 > #3 0x80491dd in process_image (dbm=0x804bea0, filename=0x806a157 > "00132aac.tif") at tif2png.c:107 > #4 0x8048fd3 in convert_images (args=0xbffff9f4) at tif2png.c:55 > #5 0x8048e6c in main (argc=1, argv=0xbffff9f4) at tif2png.c:21 I have the same problem using PerlMagick 5.2.2 calling ReadImage. However, it is only reproduceable when this statement is included in my huge Perl program with a small IM part, not is a smaller sample as you have. I run Solaris 2.5.1 and all newest image-libs attached. Did you get any useful reply which fixed your problem. Didi you know there is a bug-list: http://www.simplesystems.org/ImageMagick/bugs/ Please let me know. -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Mon Jul 24 18:24 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA27465 for ; Mon, 24 Jul 2000 18:24:10 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA20827 for ; Mon, 24 Jul 2000 18:24:09 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma020823; Mon, 24 Jul 00 18:23:51 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id MAA20883; Mon, 24 Jul 2000 12:23:50 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id MAA01738 for magick-outgoing; Mon, 24 Jul 2000 12:07:32 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <397C6C6B.989E4BB2@catchword.com> Date: Mon, 24 Jul 2000 17:18:51 +0100 From: Chris Wareham X-Mailer: Mozilla 4.73 [en] (X11; U; Linux 2.2.17pre13 i686) X-Accept-Language: en MIME-Version: 1.0 To: magick@wizards.dupont.com Subject: core dump in simple ImageMagick example Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Chris Wareham Content-Type: text/plain; charset=us-ascii Status: RO X-Status: A Content-Length: 1736 Lines: 47 *********************************************************************** This list is being decommissioned. Please join one or more of the new ImageMagick mailing lists as described at http://www.imagemagick.org/www/magick-list.html. *********************************************************************** The following snippet of code coew dumps on ReadImage(): GetExceptionInfo(&exception); image_info = CloneImageInfo((ImageInfo *)NULL); strcpy(image_info->filename, IMAGEDIR); strcat(image_info->filename, "/"); strcat(image_info->filename, filename); image = ReadImage(image_info, &exception); if(image == (Image *)NULL) { log_error("unable to read image '%s'", filename); return; } The debugger output is the following: Program received signal SIGSEGV, Segmentation fault. 0x403a0058 in _IO_getc (fp=0x67616d69) at getc.c:39 39 getc.c: No such file or directory. (gdb) bt #0 0x403a0058 in _IO_getc (fp=0x67616d69) at getc.c:39 #1 0x4005eb8d in SetImageInfo () from /usr/local/lib/libMagick.so.5 #2 0x4003c91e in ReadImage () from /usr/local/lib/libMagick.so.5 #3 0x80491dd in process_image (dbm=0x804bea0, filename=0x806a157 "00132aac.tif") at tif2png.c:107 #4 0x8048fd3 in convert_images (args=0xbffff9f4) at tif2png.c:55 #5 0x8048e6c in main (argc=1, argv=0xbffff9f4) at tif2png.c:21 image_info->filename points to a valid TIFF image, so any ideas as to what gives??? Chris *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Wed Jul 26 13:49:09 2000 Date: Wed, 26 Jul 2000 13:49:09 +0200 From: Mark Overmeer To: Chris Wareham Subject: Re: core dump in simple ImageMagick example Message-ID: <20000726134909.I25170@atcmpg.ATComputing.nl> References: <397C6C6B.989E4BB2@catchword.com> <20000726133231.G25170@atcmpg.ATComputing.nl> <397ECFEF.598EE285@catchword.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <397ECFEF.598EE285@catchword.com>; from chris.wareham@catchword.com on Wed, Jul 26, 2000 at 12:47:59PM +0100 Status: RO Content-Length: 754 Lines: 16 * Chris Wareham (chris.wareham@catchword.com) [000726 13:46]: > > I have the same problem using PerlMagick 5.2.2 calling ReadImage. > This solved my problem with a C based ImageMagick client, but > I don't know whether it is relevant for PerlMagick programs. So: to install IM, I need to have the libs installed. To install the libs, I need IM to be installed for Magic-config.... Ok. Still strange spot to dump core... -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From chris.wareham@catchword.com Wed Jul 26 13:46 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id NAA29434 for ; Wed, 26 Jul 2000 13:46:33 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id NAA24001 for ; Wed, 26 Jul 2000 13:46:32 +0200 Received: from figaro.catchword.co.uk(194.129.29.1) by ns.ATComputing.nl via smap (V2.1) id xma023999; Wed, 26 Jul 00 13:46:13 +0200 Received: from catchword.com (valkyrie.catchword.co.uk [194.129.29.105]) by figaro.catchword.co.uk (8.9.2/8.9.2) with ESMTP id LAA10217 for ; Wed, 26 Jul 2000 11:49:37 GMT Sender: cwareham@figaro.catchword.co.uk Message-ID: <397ECFEF.598EE285@catchword.com> Date: Wed, 26 Jul 2000 12:47:59 +0100 From: Chris Wareham X-Mailer: Mozilla 4.74 [en] (X11; U; Linux 2.2.17pre13 i686) X-Accept-Language: en MIME-Version: 1.0 To: Mark Overmeer Subject: Re: core dump in simple ImageMagick example References: <397C6C6B.989E4BB2@catchword.com> <20000726133231.G25170@atcmpg.ATComputing.nl> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii Status: RO X-Status: A Content-Length: 882 Lines: 26 Mark Overmeer wrote: > > I have the same problem using PerlMagick 5.2.2 calling ReadImage. > However, it is only reproduceable when this statement is included in > my huge Perl program with a small IM part, not is a smaller sample > as you have. > > I run Solaris 2.5.1 and all newest image-libs attached. > > Did you get any useful reply which fixed your problem. > Didi you know there is a bug-list: > http://www.simplesystems.org/ImageMagick/bugs/ > > Please let me know. > I wasn't passing all the required compiler flags when building my program. I had looked at the output of Magick-config, and simply copied the library dependencies into a Makefile. To successfully build, ImageMagick clients also need the correct CFLAGS arguments, etc. This solved my problem with a C based ImageMagick client, but I don't know whether it is relevant for PerlMagick programs. Chris From markov@ATComputing.nl Mon Aug 7 11:38:44 2000 Date: Mon, 7 Aug 2000 11:38:44 +0200 From: Mark Overmeer To: Bryan Burchette Subject: Re: Core Dump on ReadImage Message-ID: <20000807113844.A22119@atcmpg.ATComputing.nl> References: <4.3.1.0.20000801154753.00ae3ed0@mindspring.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <4.3.1.0.20000801154753.00ae3ed0@mindspring.com>; from blburch@mindspring.com on Tue, Aug 01, 2000 at 03:54:42PM -0400 Status: RO Content-Length: 1041 Lines: 24 (I was away for holidays last week, so not able to response earlier) * Bryan Burchette (blburch@mindspring.com) [000801 22:37]: > I am using ImageMagick 5.2.2 and for testing puposes I am using the little > test program on the website under the API section. No matter what I do, the > program cores on ReadImage(). > Current function is main > 33 image=ReadImage(image_info,&exception); I located the problem in the getc() of ReadImage using PerlMagick. I did not succeed in creating a reduced sized example for my program which reproduces the problem, so I'm glad I'm not the only one with this problem. Is there are more clarity on the cause of the crash? Any response from the developers? -- Mark Overmeer %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Tue Aug 1 22:37 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id WAA14913 for ; Tue, 1 Aug 2000 22:37:13 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id WAA04892 for ; Tue, 1 Aug 2000 22:37:12 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma004890; Tue, 1 Aug 00 22:37:04 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id QAA28454; Tue, 1 Aug 2000 16:36:07 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id PAA24962 for magick-outgoing; Tue, 1 Aug 2000 15:46:55 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-Id: <4.3.1.0.20000801154753.00ae3ed0@mindspring.com> X-Sender: blburch@mindspring.com X-Mailer: QUALCOMM Windows Eudora Version 4.3.1 Date: Tue, 01 Aug 2000 15:54:42 -0400 To: magick@wizards.dupont.com From: Bryan Burchette Subject: Core Dump on ReadImage Mime-Version: 1.0 Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bryan Burchette Content-Type: text/plain; charset="us-ascii"; format=flowed Status: RO X-Status: A Content-Length: 2042 Lines: 55 *********************************************************************** This list is being decommissioned. Please join one or more of the new ImageMagick mailing lists as described at http://www.imagemagick.org/www/magick-list.html. *********************************************************************** Hey List, This has me stumped! Maybe I am just missing something really obvious. I am using ImageMagick 5.2.2 and for testing puposes I am using the little test program on the website under the API section. No matter what I do, the program cores on ReadImage(). This is the program I am using to test: http://www.wizards.dupont.com/cristy/www/api.html I have pointed the MagickIncarnate() function to the appropriate directory on my box. Does anybody have any ideas?? What could I be doing wrong. Here is my ouput from DBX (dbx) step stopped in main at line 29 in file "test.c" 29 GetExceptionInfo(&exception); (dbx) where =>[1] main(argc = 1, argv = 0xeffff3c4 "\xef\xff\xf5^H"), line 29 in "test.c" (dbx) step stopped in main at line 30 in file "test.c" 30 image_info=CloneImageInfo((ImageInfo *) NULL); (dbx) step stopped in main at line 31 in file "test.c" 31 (void) strcpy(image_info->filename,"test.jpg"); (dbx) step stopped in main at line 32 in file "test.c" 32 printf("iamge_info->filename is %s\n",image_info->filename); (dbx) step iamge_info->filename is test.jpg stopped in main at line 33 in file "test.c" 33 image=ReadImage(image_info,&exception); (dbx) step signal SEGV (no mapping at the fault address) in getc at 0xef267b24 0xef267b24: getc+0x0024: ld [%i0], %o0 Current function is main 33 image=ReadImage(image_info,&exception); *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@imagemagick.org Wed Oct 4 19:56 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id TAA26427 for ; Wed, 4 Oct 2000 19:56:00 +0200 (MET DST) Received: from imagemagick.org (magick.imagemagick.org [38.220.172.2]) by ns.ATComputing.nl (Postfix) with ESMTP id 84B2DED32 for ; Wed, 4 Oct 2000 19:55:58 +0200 (CEST) Received: (from majordomo@localhost) by imagemagick.org (8.11.0.Beta3/8.9.3) id e94IMj420302 for magick-developer-outgoing; Wed, 4 Oct 2000 14:22:45 -0400 X-Authentication-Warning: magick.imagemagick.org: majordomo set sender to owner-magick@imagemagick.org using -f From: cristy@mystic.es.dupont.com Date: Wed, 4 Oct 2000 14:22:35 -0400 (EDT) Message-Id: <200010041822.e94IMZr19712@mystic.es.dupont.com> To: magick-developer@imagemagick.org Subject: Font metrics Sender: owner-magick@imagemagick.org Precedence: bulk Reply-To: cristy@mystic.es.dupont.com Content-Type: text Status: RO Content-Length: 1620 Lines: 32 The problem with general font metrics in ImageMagick is that there are four schemes for obtaining fonts FreeType 1, FreeType 2, Postscript/Ghostscript fonts, and X11 fonts. Freetype returns plenty of information associated with font metrics. I know of no way to get the font metrics from Ghostscript and X11 fonts returns metrics but they do not exactly match the information returned by Freetype. Layered on top of that is the fonts can be manipulated with an affine matrix with varying results for the different font schemes. Currently I write fonts to an image that bounds the font and turn all pixels not covered by the font lettering to transparent then composite this on top of the image being annotated. The only metrics available now are the maximum font height and string width. In Perl, for example, use $font->Read('label:This is a test'); ($width,$height)=$font->Get('width','height'); I can certainly include other metric information as well but how to do this consistently for all font schemes? Perhaps I could retain the font metrics for Freetype fonts only? Or can you think of a few specific font metrics that would be useful to you that we can get for FreeType, X11, and Postscript fonts? What is a minimal set of font metrics you need to make annotating more useable? *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@imagemagick.org Include the following command in the body of your message: unsubscribe magick-developer *********************************************************************** Mail-Box-4.01/t/folders/mbox.win0000644000175000001440000041652615117245227017175 0ustar00markovusers00000000000000From magick-owner@unca-don.wizards.dupont.com Wed Feb 9 22:02 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id WAA23694 for ; Wed, 9 Feb 2000 22:02:24 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id WAA01128 for ; Wed, 9 Feb 2000 22:02:24 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma001126; Wed, 9 Feb 00 22:02:01 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id QAA21962; Wed, 9 Feb 2000 16:00:43 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id PAA29389 for magick-outgoing; Wed, 9 Feb 2000 15:38:42 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Date: Wed, 9 Feb 2000 15:44:05 -0500 From: William Park To: Mark Sappol Cc: "magick@wizards.dupont.com" Subject: Re: File Conversion From HTML to PS and TIFF Message-ID: <20000209154405.C265@better.net> Mail-Followup-To: Mark Sappol , "magick@wizards.dupont.com" References: <38A11D0E.A2064062@ipicorp.com> Mime-Version: 1.0 X-Mailer: Mutt 1.0pre3i In-Reply-To: <38A11D0E.A2064062@ipicorp.com> Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: William Park Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 1313 Lines: 33 On Wed, Feb 09, 2000 at 07:53:50AM +0000, Mark Sappol wrote: > I am new to this list so please forgive me if I am asking something that > has already been answered previously. I did check the archives but too > no avail. > > I need to create a postscript file from an HTML document. I have no > problem here with the text but I do have a logo (gif file) on this > document which does not get converted. How can I go about converting > the HTML documents I generate, along with any linked GIF images, to > PostScript, as well as at other times, to TIFF? > > I would appreciate any feedback and help on this request. > > Thanks in advance, > Mark You can convert .html to .ps using Netscape. You can do this manually by clicking mouse, or through '-remote' command line option. For example, netscape -remote "openURL(http://sexybabes.for.you/)" \ -remote "saveAs(xxx.ps, Postscript)" You can then convert .ps to .tiff like FAX program does. William *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed Feb 9 23:15 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id XAA24500 for ; Wed, 9 Feb 2000 23:15:56 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id XAA01235 for ; Wed, 9 Feb 2000 23:15:55 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma001233; Wed, 9 Feb 00 23:15:42 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id RAA04724; Wed, 9 Feb 2000 17:13:49 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id QAA29779 for magick-outgoing; Wed, 9 Feb 2000 16:56:19 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-Id: <200002092200.RAA19561@mailfw3.ford.com> Date: Wed, 09 Feb 2000 17:00:14 -0500 From: "Lincoln, D. E. (Daniel)" Organization: R&VT VCP&M X-Mailer: Mozilla 4.7C-CCK-MCD cf47 [en] (X11; I; SunOS 5.6 sun4u) X-Accept-Language: en, en-GB, de, fr, ja, ko, zh Mime-Version: 1.0 To: Jeffrey Krzysztow Cc: William Park , Mark Sappol , "magick@wizards.dupont.com" Subject: Re: File Conversion From HTML to PS and TIFF References: <38A11D0E.A2064062@ipicorp.com> <20000209154405.C265@better.net> <38A1DBE7.9D3718C9@pvii.com> Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: "Lincoln, D. E. (Daniel)" Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 2169 Lines: 60 If I may interject... It can be found at: http://developer.netscape.com/docs/manuals/deploymt/options.htm Jeffrey Krzysztow wrote: > > William, > > Where did you find information about -remote command line option for Netscape? > > William Park wrote: > > > On Wed, Feb 09, 2000 at 07:53:50AM +0000, Mark Sappol wrote: > > > I am new to this list so please forgive me if I am asking something that > > > has already been answered previously. I did check the archives but too > > > no avail. > > > > > > I need to create a postscript file from an HTML document. I have no > > > problem here with the text but I do have a logo (gif file) on this > > > document which does not get converted. How can I go about converting > > > the HTML documents I generate, along with any linked GIF images, to > > > PostScript, as well as at other times, to TIFF? > > > > > > I would appreciate any feedback and help on this request. > > > > > > Thanks in advance, > > > Mark > > > > You can convert .html to .ps using Netscape. You can do this manually > > by clicking mouse, or through '-remote' command line option. For > > example, > > netscape -remote "openURL(http://sexybabes.for.you/)" \ > > -remote "saveAs(xxx.ps, Postscript)" > > > > You can then convert .ps to .tiff like FAX program does. > > > > William > > > > *********************************************************************** > > To remove yourself from this mailing list, send mail to: > > majordomo@wizards.dupont.com > > > > Include the following command in the body of your message: > > unsubscribe magick > > *********************************************************************** -- Regards, Daniel E. Lincoln - Digital Buck Mechanic Ford Motor Company - R&VT Vehicle CAD Process & Methods *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed Feb 9 23:15 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id XAA24495 for ; Wed, 9 Feb 2000 23:15:26 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id XAA01230 for ; Wed, 9 Feb 2000 23:15:25 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma001228; Wed, 9 Feb 00 23:15:21 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id RAA04756; Wed, 9 Feb 2000 17:13:55 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id QAA29764 for magick-outgoing; Wed, 9 Feb 2000 16:55:37 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <38A1E3B0.F148D74A@websidestory.com> Date: Wed, 09 Feb 2000 14:01:20 -0800 From: Steve Dotson X-Mailer: Mozilla 4.7 [en] (X11; U; Linux 2.2.5-15 i686) X-Accept-Language: en MIME-Version: 1.0 To: Jeffrey Krzysztow CC: William Park , Mark Sappol , "magick@wizards.dupont.com" Subject: Re: File Conversion From HTML to PS and TIFF References: <38A11D0E.A2064062@ipicorp.com> <20000209154405.C265@better.net> <38A1DBE7.9D3718C9@pvii.com> Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Steve Dotson Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 2192 Lines: 63 http://home.netscape.com/newsref/std/x-remote.html Jeffrey Krzysztow wrote: > > William, > > Where did you find information about -remote command line option for Netscape? > > William Park wrote: > > > On Wed, Feb 09, 2000 at 07:53:50AM +0000, Mark Sappol wrote: > > > I am new to this list so please forgive me if I am asking something that > > > has already been answered previously. I did check the archives but too > > > no avail. > > > > > > I need to create a postscript file from an HTML document. I have no > > > problem here with the text but I do have a logo (gif file) on this > > > document which does not get converted. How can I go about converting > > > the HTML documents I generate, along with any linked GIF images, to > > > PostScript, as well as at other times, to TIFF? > > > > > > I would appreciate any feedback and help on this request. > > > > > > Thanks in advance, > > > Mark > > > > You can convert .html to .ps using Netscape. You can do this manually > > by clicking mouse, or through '-remote' command line option. For > > example, > > netscape -remote "openURL(http://sexybabes.for.you/)" \ > > -remote "saveAs(xxx.ps, Postscript)" > > > > You can then convert .ps to .tiff like FAX program does. > > > > William > > > > *********************************************************************** > > To remove yourself from this mailing list, send mail to: > > majordomo@wizards.dupont.com > > > > Include the following command in the body of your message: > > unsubscribe magick > > *********************************************************************** -- Steve Dotson Software Engineer WebSideStory, Inc. 10182 Telesis Court, Sixth Floor San Diego, California 92121 P: 858.546.0040 ext. 417 F: 858.546.0480 E: steve@websidestory.com *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed Feb 23 17:28 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA20894 for ; Wed, 23 Feb 2000 17:28:05 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA21883 for ; Wed, 23 Feb 2000 17:28:04 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma021881; Wed, 23 Feb 00 17:27:46 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id LAA28560; Wed, 23 Feb 2000 11:25:57 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id KAA09345 for magick-outgoing; Wed, 23 Feb 2000 10:53:09 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <177E035AF8BDD311858B00A0C9D8E324886A3B@EMAILSRVR_KPR> From: Steve Sapovits To: magick@wizards.dupont.com Subject: Transparency question Date: Wed, 23 Feb 2000 10:58:16 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Steve Sapovits Content-Type: text/plain Status: RO Content-Length: 1489 Lines: 42 I'm trying to do the following: 1) Take a JPEG image and size it down to a particular size. 2) Overlay that JPEG on top of an GIF image to form a combined result. This works fine for the most part: I use mogrify to resize, followed by combine to overlay. Now I'm presented with GIF images (the ones the JPEG is put on top of) that have colors or other background attributes we want to 'show through' the overlay where there is no image. Even without any transparency options this seems to ALMOST work. The problem is that there's a small area around each image of 'white' that always shows up. Trying transparency or the 'matte' option of '-draw' seems to have no effect. Any ideas? I'm an engineer -- not an image expert. The images in question are handed to me. I can change them if necessary and if it can be done via the ImageMagick tool. The volume we generate makes manual changes to each image out of the question. ---- Steve Sapovits Global Sports Interactive Work Email: sapovitss@globalsportsinc.com Home Email: steves@delanet.com Work Phone: 610-491-7087 Cell: 610-574-7706 Pager: 877-239-4003 *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed Feb 23 20:13 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id UAA24120 for ; Wed, 23 Feb 2000 20:13:38 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id UAA22110 for ; Wed, 23 Feb 2000 20:13:38 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma022108; Wed, 23 Feb 00 20:13:37 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id OAA00687; Wed, 23 Feb 2000 14:11:56 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id NAA10192 for magick-outgoing; Wed, 23 Feb 2000 13:26:44 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <177E035AF8BDD311858B00A0C9D8E324886AB2@EMAILSRVR_KPR> From: Steve Sapovits To: Steve Sapovits , magick@wizards.dupont.com Subject: RE: Transparency question Date: Wed, 23 Feb 2000 13:31:41 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Steve Sapovits Content-Type: text/plain Status: RO Content-Length: 2556 Lines: 73 Someone on this list and my image folks here seem to confirm that the problem here is with 'fringe' pixels that were not trimmed back as neatly as possible. Any suggestions for automating this? This whole thing needs to be batched. I played with the transparency and fuzz options with no real difference noted. Trying crop 0x0 makes some of the fringe whitespace areas neater, but it doesn't get rid of them. Any suggestions? > -----Original Message----- > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > Sent: Wednesday, February 23, 2000 10:58 AM > To: magick@wizards.dupont.com > Subject: Transparency question > > > I'm trying to do the following: > > 1) Take a JPEG image and size it down to a particular size. > 2) Overlay that JPEG on top of an GIF image to form a combined result. > > This works fine for the most part: I use mogrify to resize, followed by > combine to overlay. > > Now I'm presented with GIF images (the ones the JPEG is put on top of) > that have colors or other background attributes we want to 'show through' > the overlay where there is no image. > > Even without any transparency options this seems to ALMOST work. The > problem is that there's a small area around each image of 'white' that > always > shows up. Trying transparency or the 'matte' option of '-draw' seems to > have > no effect. > > Any ideas? I'm an engineer -- not an image expert. The images in > question > are handed to me. I can change them if necessary and if it can be done > via > the ImageMagick tool. The volume we generate makes manual changes to > each image out of the question. > > ---- > Steve Sapovits > Global Sports Interactive > Work Email: sapovitss@globalsportsinc.com > Home Email: steves@delanet.com > Work Phone: 610-491-7087 > Cell: 610-574-7706 > Pager: 877-239-4003 > > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Thu Feb 24 17:27 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA19964 for ; Thu, 24 Feb 2000 17:27:35 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA23400 for ; Thu, 24 Feb 2000 17:27:34 +0100 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma023398; Thu, 24 Feb 00 17:27:10 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id LAA14646; Thu, 24 Feb 2000 11:25:37 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA15770 for magick-outgoing; Thu, 24 Feb 2000 11:04:56 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <8100014B48DAD111AA4100805F9F3FC903A0E5B2@host60.corbis.com> From: Bill Radcliffe To: "'Steve Sapovits'" , "'magick@wizards.dupont.com'" Subject: RE: Transparency question Date: Thu, 24 Feb 2000 08:06:44 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bill Radcliffe Content-Type: text/plain Status: RO Content-Length: 3455 Lines: 93 It would help me if you could send some small samples of exactly the effect you are trying to achieve. I'm sure IM can do whatever you want but the road to get there may not be at all obvious. > -----Original Message----- > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > Sent: Wednesday, February 23, 2000 10:32 AM > To: Steve Sapovits; magick@wizards.dupont.com > Subject: RE: Transparency question > > > Someone on this list and my image folks here seem to confirm that the > problem > here is with 'fringe' pixels that were not trimmed back as neatly as > possible. Any > suggestions for automating this? This whole thing needs to be batched. I > played > with the transparency and fuzz options with no real difference noted. > Trying > crop 0x0 makes some of the fringe whitespace areas neater, but it doesn't > get rid > of them. > > Any suggestions? > > > -----Original Message----- > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > Sent: Wednesday, February 23, 2000 10:58 AM > > To: magick@wizards.dupont.com > > Subject: Transparency question > > > > > > I'm trying to do the following: > > > > 1) Take a JPEG image and size it down to a particular size. > > 2) Overlay that JPEG on top of an GIF image to form a combined result. > > > > This works fine for the most part: I use mogrify to resize, followed by > > > combine to overlay. > > > > Now I'm presented with GIF images (the ones the JPEG is put on top of) > > that have colors or other background attributes we want to 'show > through' > > the overlay where there is no image. > > > > Even without any transparency options this seems to ALMOST work. The > > problem is that there's a small area around each image of 'white' that > > always > > shows up. Trying transparency or the 'matte' option of '-draw' seems to > > have > > no effect. > > > > Any ideas? I'm an engineer -- not an image expert. The images in > > question > > are handed to me. I can change them if necessary and if it can be done > > via > > the ImageMagick tool. The volume we generate makes manual changes to > > each image out of the question. > > > > ---- > > Steve Sapovits > > Global Sports Interactive > > Work Email: sapovitss@globalsportsinc.com > > Home Email: steves@delanet.com > > Work Phone: 610-491-7087 > > Cell: 610-574-7706 > > Pager: 877-239-4003 > > > > > > *********************************************************************** > > To remove yourself from this mailing list, send mail to: > > majordomo@wizards.dupont.com > > > > Include the following command in the body of your message: > > unsubscribe magick > > *********************************************************************** > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Thu Feb 24 18:17 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA21506 for ; Thu, 24 Feb 2000 18:17:36 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA23500 for ; Thu, 24 Feb 2000 18:17:35 +0100 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma023498; Thu, 24 Feb 00 18:17:21 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id MAA27594; Thu, 24 Feb 2000 12:14:53 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA16076 for magick-outgoing; Thu, 24 Feb 2000 11:52:40 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <8100014B48DAD111AA4100805F9F3FC903A0E5B9@host60.corbis.com> From: Bill Radcliffe To: "'Steve Sapovits'" Cc: "'magick@wizards.dupont.com'" Subject: RE: Transparency question Date: Thu, 24 Feb 2000 08:54:32 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bill Radcliffe Content-Type: text/plain; charset="ISO-8859-1" Status: RO Content-Length: 5804 Lines: 161 Your problem is that you are trying to use transparency, but you really want to use alpha channel blending. I'll show you how if you can send me another copy of MCS_C_11452.gif before it is flattened out into a GIF file. You need to have an input file were the "image" pixels are in the RGB parts of the file, and the "cutout" is in the "alpha" channel. The alpha channel contains a value for each and every pixel that defines the opacity of the pixel. Two file formats that support this are Photoshop and TIFF. > -----Original Message----- > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > Sent: Thursday, February 24, 2000 8:34 AM > To: Bill Radcliffe > Subject: RE: Transparency question > > > Good idea, of course. > > This is run from a bigger program but I distilled it down to a simpler > set of commands to reproduce. I run these two commands: > > mogrify -geometry 120x120! 'MCS_C_11452.gif' > combine 'MCS_C_120x150.gif' -gravity south 'MCS_C_11452.gif' -compose over > 'result.gif' > > I get this output: > > mogrify: no delegates configuration file found (delegates.mgk). > mogrify: no encode delegate for this image format (Y). > combine: no delegates configuration file found (delegates.mgk). > > I've gotten these 'delegates' messages before with no ill effects. > > Here are the files I'm using. The 'result.gif' has the whitespace I > mentioned. Any help > would be greatly appreciated. I'll write a perl program for you in > exchange > or something. 8-) > > <> <> <> > > > > -----Original Message----- > > From: Bill Radcliffe [SMTP:BillR@corbis.com] > > Sent: Thursday, February 24, 2000 11:07 AM > > To: 'Steve Sapovits'; 'magick@wizards.dupont.com' > > Subject: RE: Transparency question > > > > It would help me if you could send some small samples of exactly the > > effect > > you are trying to achieve. I'm sure IM can do whatever you want but the > > road > > to get there may not be at all obvious. > > > > > -----Original Message----- > > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > > Sent: Wednesday, February 23, 2000 10:32 AM > > > To: Steve Sapovits; magick@wizards.dupont.com > > > Subject: RE: Transparency question > > > > > > > > > Someone on this list and my image folks here seem to confirm that the > > > problem > > > here is with 'fringe' pixels that were not trimmed back as neatly as > > > possible. Any > > > suggestions for automating this? This whole thing needs to be > batched. > > I > > > played > > > with the transparency and fuzz options with no real difference noted. > > > Trying > > > crop 0x0 makes some of the fringe whitespace areas neater, but it > > doesn't > > > get rid > > > of them. > > > > > > Any suggestions? > > > > > > > -----Original Message----- > > > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > > > Sent: Wednesday, February 23, 2000 10:58 AM > > > > To: magick@wizards.dupont.com > > > > Subject: Transparency question > > > > > > > > > > > > I'm trying to do the following: > > > > > > > > 1) Take a JPEG image and size it down to a particular size. > > > > 2) Overlay that JPEG on top of an GIF image to form a combined > > result. > > > > > > > > This works fine for the most part: I use mogrify to resize, > followed > > by > > > > > > > combine to overlay. > > > > > > > > Now I'm presented with GIF images (the ones the JPEG is put on top > of) > > > > that have colors or other background attributes we want to 'show > > > through' > > > > the overlay where there is no image. > > > > > > > > Even without any transparency options this seems to ALMOST work. > The > > > > problem is that there's a small area around each image of 'white' > that > > > > always > > > > shows up. Trying transparency or the 'matte' option of '-draw' > seems > > to > > > > have > > > > no effect. > > > > > > > > Any ideas? I'm an engineer -- not an image expert. The images in > > > > question > > > > are handed to me. I can change them if necessary and if it can be > > done > > > > via > > > > the ImageMagick tool. The volume we generate makes manual changes > to > > > > each image out of the question. > > > > > > > > ---- > > > > Steve Sapovits > > > > Global Sports Interactive > > > > Work Email: sapovitss@globalsportsinc.com > > > > Home Email: steves@delanet.com > > > > Work Phone: 610-491-7087 > > > > Cell: 610-574-7706 > > > > Pager: 877-239-4003 > > > > > > > > > > > > > > *********************************************************************** > > > > To remove yourself from this mailing list, send mail to: > > > > majordomo@wizards.dupont.com > > > > > > > > Include the following command in the body of your message: > > > > unsubscribe magick > > > > > > *********************************************************************** > > > > > > > *********************************************************************** > > > To remove yourself from this mailing list, send mail to: > > > majordomo@wizards.dupont.com > > > > > > Include the following command in the body of your message: > > > unsubscribe magick > > > > *********************************************************************** << > File: MCS_C_11452.gif >> << File: MCS_C_120x150.gif >> << File: > result.gif >> *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Thu Feb 24 20:21 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id UAA23276 for ; Thu, 24 Feb 2000 20:21:08 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id UAA23679 for ; Thu, 24 Feb 2000 20:21:08 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma023676; Thu, 24 Feb 00 20:20:57 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id OAA10625; Thu, 24 Feb 2000 14:17:28 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id NAA16562 for magick-outgoing; Thu, 24 Feb 2000 13:40:21 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <8100014B48DAD111AA4100805F9F3FC903A0E5BF@host60.corbis.com> From: Bill Radcliffe To: "'Steve Sapovits'" Cc: "'magick@wizards.dupont.com'" Subject: RE: Transparency question Date: Thu, 24 Feb 2000 10:42:23 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bill Radcliffe Content-Type: text/plain; charset="ISO-8859-1" Status: RO Content-Length: 7588 Lines: 206 OK - here is a "possible" solution. This sequence relies on the fact that the input image was originally composited on a white background. It takes the image and generates a "fake" alpha channel (mask) and uses this during the compositing operation. It looks pretty good, but has the disadvantage that the background will tend to influence the colors in the final image more then you would want. : first convert to an RGB format with no more transparency or mask channel convert -compression none MCS_C_11452.gif MCS_C_11452_rgb.bmp : now make a fake alpha channel using a grayscale version of the image (inverted) convert -compression none -colorspace gray -negate MCS_C_11452.gif MCS_C_11452_a.bmp : combine the original image along with the fake alpha channel onto the background combine -gravity south -compose over MCS_C_120x150.gif MCS_C_11452.gif MCS_C_11452_a.bmp result.gif > -----Original Message----- > From: Bill Radcliffe > Sent: Thursday, February 24, 2000 8:55 AM > To: 'Steve Sapovits' > Cc: 'magick@wizards.dupont.com' > Subject: RE: Transparency question > > Your problem is that you are trying to use transparency, but you really > want > to use alpha channel blending. I'll show you how if you can send me > another > copy of MCS_C_11452.gif before it is flattened out into a GIF file. You > need > to have an input file were the "image" pixels are in the RGB parts of the > file, and the "cutout" is in the "alpha" channel. The alpha channel > contains > a value for each and every pixel that defines the opacity of the pixel. > Two > file formats that support this are Photoshop and TIFF. > > > -----Original Message----- > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > Sent: Thursday, February 24, 2000 8:34 AM > > To: Bill Radcliffe > > Subject: RE: Transparency question > > > > > > Good idea, of course. > > > > This is run from a bigger program but I distilled it down to a simpler > > set of commands to reproduce. I run these two commands: > > > > mogrify -geometry 120x120! 'MCS_C_11452.gif' > > combine 'MCS_C_120x150.gif' -gravity south 'MCS_C_11452.gif' -compose > over > > 'result.gif' > > > > I get this output: > > > > mogrify: no delegates configuration file found (delegates.mgk). > > mogrify: no encode delegate for this image format (Y). > > combine: no delegates configuration file found (delegates.mgk). > > > > I've gotten these 'delegates' messages before with no ill effects. > > > > Here are the files I'm using. The 'result.gif' has the whitespace I > > mentioned. Any help > > would be greatly appreciated. I'll write a perl program for you in > > exchange > > or something. 8-) > > > > <> <> <> > > > > > > > -----Original Message----- > > > From: Bill Radcliffe [SMTP:BillR@corbis.com] > > > Sent: Thursday, February 24, 2000 11:07 AM > > > To: 'Steve Sapovits'; 'magick@wizards.dupont.com' > > > Subject: RE: Transparency question > > > > > > It would help me if you could send some small samples of exactly the > > > effect > > > you are trying to achieve. I'm sure IM can do whatever you want but > the > > > road > > > to get there may not be at all obvious. > > > > > > > -----Original Message----- > > > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > > > Sent: Wednesday, February 23, 2000 10:32 AM > > > > To: Steve Sapovits; magick@wizards.dupont.com > > > > Subject: RE: Transparency question > > > > > > > > > > > > Someone on this list and my image folks here seem to confirm that > the > > > > problem > > > > here is with 'fringe' pixels that were not trimmed back as neatly as > > > > possible. Any > > > > suggestions for automating this? This whole thing needs to be > > batched. > > > I > > > > played > > > > with the transparency and fuzz options with no real difference > noted. > > > > Trying > > > > crop 0x0 makes some of the fringe whitespace areas neater, but it > > > doesn't > > > > get rid > > > > of them. > > > > > > > > Any suggestions? > > > > > > > > > -----Original Message----- > > > > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > > > > Sent: Wednesday, February 23, 2000 10:58 AM > > > > > To: magick@wizards.dupont.com > > > > > Subject: Transparency question > > > > > > > > > > > > > > > I'm trying to do the following: > > > > > > > > > > 1) Take a JPEG image and size it down to a particular size. > > > > > 2) Overlay that JPEG on top of an GIF image to form a combined > > > result. > > > > > > > > > > This works fine for the most part: I use mogrify to resize, > > followed > > > by > > > > > > > > > combine to overlay. > > > > > > > > > > Now I'm presented with GIF images (the ones the JPEG is put on top > > of) > > > > > that have colors or other background attributes we want to 'show > > > > through' > > > > > the overlay where there is no image. > > > > > > > > > > Even without any transparency options this seems to ALMOST work. > > The > > > > > problem is that there's a small area around each image of 'white' > > that > > > > > always > > > > > shows up. Trying transparency or the 'matte' option of '-draw' > > seems > > > to > > > > > have > > > > > no effect. > > > > > > > > > > Any ideas? I'm an engineer -- not an image expert. The images in > > > > > question > > > > > are handed to me. I can change them if necessary and if it can be > > > done > > > > > via > > > > > the ImageMagick tool. The volume we generate makes manual changes > > to > > > > > each image out of the question. > > > > > > > > > > ---- > > > > > Steve Sapovits > > > > > Global Sports Interactive > > > > > Work Email: sapovitss@globalsportsinc.com > > > > > Home Email: steves@delanet.com > > > > > Work Phone: 610-491-7087 > > > > > Cell: 610-574-7706 > > > > > Pager: 877-239-4003 > > > > > > > > > > > > > > > > > > > *********************************************************************** > > > > > To remove yourself from this mailing list, send mail to: > > > > > majordomo@wizards.dupont.com > > > > > > > > > > Include the following command in the body of your message: > > > > > unsubscribe magick > > > > > > > > > *********************************************************************** > > > > > > > > > > *********************************************************************** > > > > To remove yourself from this mailing list, send mail to: > > > > majordomo@wizards.dupont.com > > > > > > > > Include the following command in the body of your message: > > > > unsubscribe magick > > > > > > *********************************************************************** > << > > File: MCS_C_11452.gif >> << File: MCS_C_120x150.gif >> << File: > > result.gif >> > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov Sun Aug 8 10:04:17 1999 Subject: Resize with Transparency To: magick@wizards.dupont.com Date: Sun, 8 Aug 1999 10:04:17 +0200 (MET DST) Reply-To: markov@ATComputing.nl (Mark Overmeer) X-Mailer: ELM [version 2.4 PL21] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Content-Length: 1413 Lines: 37 Hi, Maybe someone knows a solution, maybe for enhancement: I have an image (say black on white), where white is set to be transparent. I can display the image on any background, without seeing white. Now I resize the image with anti-aliasing. For that, we have to intermediate pixels, which also requires interpolating the black pixels and background pixels. But: I my case, the background has a different (but known) color every time i.e. need to anti-alias the same image to different backgrounds. I would like to write: my $image->Read('original.gif'); $image->Set(background => 'blue'); $image->Scale('50%x50%'); $image->Write('small.gif'); However, ImageMagick (ImageMagick 4.2.7, PerlMagick 4.27 on Linux) takes as value for a transparent pixel not the value of `background', but the color used to define a transparent color: in this case `white'. My image reduced as above shows white pixels on my blue background. Is my expectation wrong? Does anyone know a work-around? -- Thanks, Mark Overmeer %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Thu Mar 30 19:09 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id TAA14579 for ; Thu, 30 Mar 2000 19:09:10 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id TAA31447 for ; Thu, 30 Mar 2000 19:09:10 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma031440; Thu, 30 Mar 00 19:08:51 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id MAA10121; Thu, 30 Mar 2000 12:04:52 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA03360 for magick-outgoing; Thu, 30 Mar 2000 11:44:20 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <8100014B48DAD111AA4100805F9F3FC903A0E75D@host60.corbis.com> From: Bill Radcliffe To: "'Ivo'" , magick@wizards.dupont.com, tiff@olympiakos.com Subject: RE: jpeg2000 question Date: Thu, 30 Mar 2000 08:46:50 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bill Radcliffe Content-Type: text/plain Status: RO Content-Length: 2825 Lines: 66 I worked on the definition of the JP2 file format. The situation with JPEG2000 is not at all like JPEG. You should know is that JP2 is a very simple wrapper around the formal JPEG2000 "codestream". It was based on the Quicktime idea of "atoms". This simple idea is that you have a tag and a length followed by the "stuff". You know what the "stuff" is based on the tag type. You can also nest these atoms to build more complex structures. JP2 is a very simple set of these atoms, most of which are optional. You could write a program to implement this in about 15 minutes. The "hard" part of JP2 is the "codestream". This is the encoded JPEG2000 data. Good luck on that. We don't have a freely available reference implementation at this point because nobody has signed up to do it. There was an effort underway by the same group that did the JPEG-LS implementation. This was given to the public domain.. http://spmg.ece.ubc.ca/research/jpeg/jpeg_ls/jpegls.html They actually had an implementation of JPEG2000 on their website but pulled it off: http://www.ece.ubc.ca/~mdadams/jasper/ Apparently, they decided to sell out and try to charge for it instead of providing it to the public domain. We all know how well that is going to work. When are people going to learn that you can't make money selling compression software? It's not a business - its just an enabler. My opinion is that without a "Tom Lane" type signing up to make a free implementation available, JPEG2000 is doomed. You just don't get real interoperability from a paper spec. We know this. The good news is that the Digital Imaging Group (DIG) has a project underway to do this. The bad news is that it has not yet started. And so we wait :-) > -----Original Message----- > From: Ivo [SMTP:ivo.penzar@infolink-software.com] > Sent: Thursday, March 30, 2000 1:37 AM > To: magick@wizards.dupont.com; tiff@olympiakos.com > Subject: jpeg2000 question > > Does anybody know of some repository of jp2 (jpeg2000, to be approved by > ISO/ITU-T by the end of this year) and/or a tool to write (some sort of) > those images. > > Thanks, > Ivo > > > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Fri Mar 31 17:01:17 2000 Date: Fri, 31 Mar 2000 17:01:17 +0200 From: Mark Overmeer To: Carl Knoos Cc: magick@wizards.dupont.com Subject: Re: Problem resizing images through perl script Message-ID: <20000331170117.B2095@atcmpg.ATComputing.nl> References: <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23.interaccess.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: ; from cknoos@atg.com on Thu, Mar 30, 2000 at 06:27:54PM -0500 Status: RO Content-Length: 843 Lines: 23 * Carl Knoos (cknoos@atg.com) [000331 01:39]: > if I run mogrify -geometry 95x95 whatever.jpg > I get exactly what I want, except when I try > to do it from Perl... > # resize it. > $result="$mogrifypath/mogrify -geometry 96x96 > $GalleryPath/tn_$ShortFilename"; I assume you try to execute this code: use back-tics: $result=`$mogrifypath/mogrify -geometry 96x96 $GalleryPath/tn_$ShortFilename`; or better qx(...) Is it just a slip of pen here, or just usual programmers-blindness? -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Fri Mar 31 01:39 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id BAA16135 for ; Fri, 31 Mar 2000 01:39:18 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id BAA31743 for ; Fri, 31 Mar 2000 01:39:18 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma031741; Fri, 31 Mar 00 01:39:12 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id SAA08310; Thu, 30 Mar 2000 18:37:29 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id SAA05154 for magick-outgoing; Thu, 30 Mar 2000 18:24:04 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f From: "Carl Knoos" To: Subject: Problem resizing images through perl script Date: Thu, 30 Mar 2000 18:27:54 -0500 Message-ID: MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) In-Reply-To: <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23.interaccess.com> Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: "Carl Knoos" Content-Type: text/plain; charset="iso-8859-1" Status: RO X-Status: A Content-Length: 1317 Lines: 47 I know this probably doesn't belong here, but I don't who else to ask :) Basically, I have imagemagick installed and it works like a charm! if I run mogrify -geometry 95x95 whatever.jpg I get exactly what I want, except when I try to do it from Perl... If I in a perl script say: sub GenerateThumb { $fsize = -s "$GalleryPath/$ShortFilename"; if ($thumbmethod == 1) { # copy image. open(IMGFILE, "$GalleryPath/$ShortFilename"); open(TNFILE, ">$GalleryPath/tn_$ShortFilename"); binmode(IMGFILE); binmode(TNFILE); read(IMGFILE, $buffer, $fsize); print TNFILE $buffer; close(TNFILE); close(IMGFILE); chmod (0777, "$GalleryPath/tn_$ShortFilename"); # resize it. $result="$mogrifypath/mogrify -geometry 96x96 $GalleryPath/tn_$ShortFilename"; } } It all works great until it comes to the resizing, it just seem to skip the last step. the variable $mogrifypath is set correctly to /usr/bin Does anyone what I'm doing wrong? /Carl *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Fri Mar 31 02:25 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id CAA16260 for ; Fri, 31 Mar 2000 02:25:19 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id CAA31781 for ; Fri, 31 Mar 2000 02:25:19 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma031779; Fri, 31 Mar 00 02:25:12 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id TAA21824; Thu, 30 Mar 2000 19:23:29 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id TAA05326 for magick-outgoing; Thu, 30 Mar 2000 19:16:20 -0500 (EST) <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23. interaccess.com> X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Mime-Version: 1.0 X-Sender: leonardr@mail1.netreach.net Message-Id: In-Reply-To: <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23.interaccess.com> References: <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23.interaccess.com> Date: Thu, 30 Mar 2000 19:15:48 -0500 To: Joseph Korabelnikov magick@wizards.dupont.com From: Leonard Rosenthol Subject: Re: Convert HTM, HTML files to the .jpg format X-MIME-Autoconverted: from quoted-printable to 8bit by unca-don.wizards.dupont.com id TAA05323 Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Leonard Rosenthol X-MIME-Autoconverted: from 8bit to quoted-printable by mustang.oldcity.dca.net id TAA21824 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by atcmpg.ATComputing.nl id CAA16260 Content-Type: text/plain; charset="iso-8859-1" ; format="flowed" Status: RO Content-Length: 1231 Lines: 33 At 4:12 PM -0600 3/30/00, Joseph Korabelnikov wrote: >I attempted to convert HTML file to the .jpg format from Command Prompt >window and got an error : > > convert: delegate failed (html2ps -o %o %i). > convert: no delegate for this image format (HTML). > >As I understood situation I need to install mgtl2ps library. Am I right. If >so, where to get it? > You can find it at . LDR -- ---------------------------------------------------------------------------- You've got a SmartFriend in Pennsylvania ---------------------------------------------------------------------------- Leonard Rosenthol Internet: leonardr@lazerware.com America Online: MACgician Web Site: FTP Site: PGP Fingerprint: C76E 0497 C459 182D 0C6B AB6B CA10 B4DF 8067 5E65 *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Mon Apr 3 08:25:55 2000 Date: Mon, 3 Apr 2000 08:25:55 +0200 From: Mark Overmeer To: Carl Knoos Subject: Re: Problem resizing images through perl script Message-ID: <20000403082555.B11537@atcmpg.ATComputing.nl> References: <20000331170117.B2095@atcmpg.ATComputing.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: ; from cknoos@atg.com on Sat, Apr 01, 2000 at 03:40:32PM -0500 Status: RO Content-Length: 1069 Lines: 23 * Carl Knoos (cknoos@atg.com) [000401 22:42]: > ld.so.1: /usr/local/bin/mogrify: fatal: libttf.so.2: open failed: No such > file or directory Typical for installing ImageMagick binaries: they are precompiled on a system with a long list of shared-libs. IM is very powerful, so there are many libs. While starting, the libs are contacted. Search for a libttf.so : you may not have it, have the wrong version or just a lacking link. ttf = True Type Fonts, and the lib is available at freetype.org. > I've asked the company that I rent space from to install > PerlMagick on the box, hopefully I won't have all these > problems if they do. Compatibility between all those libs and apps will continue to haunt us. -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From cknoos@atg.com Sat Apr 1 22:42 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id WAA04105 for ; Sat, 1 Apr 2000 22:42:15 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id WAA01429 for ; Sat, 1 Apr 2000 22:42:14 +0200 Received: from art.atg.com(205.181.94.1) by ns.ATComputing.nl via smap (V2.1) id xma001427; Sat, 1 Apr 00 22:42:05 +0200 Received: from donkeykong (donkey-kong.atg.com [205.181.107.218]) by art.atg.com (8.9.1/8.9.1) with SMTP id PAA24854 for ; Sat, 1 Apr 2000 15:42:29 -0500 (EST) From: "Carl Knoos" To: "Mark Overmeer" Subject: RE: Problem resizing images through perl script Date: Sat, 1 Apr 2000 15:40:32 -0500 Message-ID: MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Importance: Normal In-Reply-To: <20000331170117.B2095@atcmpg.ATComputing.nl> Content-Type: text/plain; charset="iso-8859-1" Status: RO X-Status: A Content-Length: 1928 Lines: 63 Blindness :) Now I'm on to the next problem though... when I try to execute the line from the script, my webservers error log contains this: ld.so.1: /usr/local/bin/mogrify: fatal: libttf.so.2: open failed: No such file or directory I'm seriously starting to get ticked now... hehe :) I've asked the company that I rent space from to install PerlMagick on the box, hopefully I won't have all these problems if they do. Thanks for your help! :) /Carl -----Original Message----- From: owner-magick@wizards.dupont.com [mailto:owner-magick@wizards.dupont.com]On Behalf Of Mark Overmeer Sent: Friday, March 31, 2000 10:01 AM To: Carl Knoos Cc: magick@wizards.dupont.com Subject: Re: Problem resizing images through perl script * Carl Knoos (cknoos@atg.com) [000331 01:39]: > if I run mogrify -geometry 95x95 whatever.jpg > I get exactly what I want, except when I try > to do it from Perl... > # resize it. > $result="$mogrifypath/mogrify -geometry 96x96 > $GalleryPath/tn_$ShortFilename"; I assume you try to execute this code: use back-tics: $result=`$mogrifypath/mogrify -geometry 96x96 $GalleryPath/tn_$ShortFilename`; or better qx(...) Is it just a slip of pen here, or just usual programmers-blindness? -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Tue May 9 15:14:18 2000 Date: Tue, 9 May 2000 15:14:18 +0200 From: Mark Overmeer To: Pletschette Andre Subject: Re: Undefined Symbol: SetWarningHandler Message-ID: <20000509151418.B15139@atcmpg.ATComputing.nl> References: <3917FC90.8B8B0CF@gmx.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <3917FC90.8B8B0CF@gmx.net>; from andre.pletschette@gmx.net on Tue, May 09, 2000 at 01:54:56PM +0200 Status: RO Content-Length: 1120 Lines: 25 * Pletschette Andre (andre.pletschette@gmx.net) [000509 15:11]: > When I tried to write a perl script with the following line in it: > use Image::Magick; > I get the following error-message: > > perl: error in loading shared librairies: > /usr/lib/perl5/site_perl/5.005/i586-lin > ux/auto/Image/Magick/Magick.so: undefined symbol: SetWarningHandler > > Could anybody tell me what this means, and how I can get it run, I run > Suse Linux 6.3 and I've installed Image Magick with the C++ and the Perl > Modules. The Perl::Magick and Image::Magick/ImageMagick modules are not compatible. Just reinstall all yourself from www.ImageMagick.org. Be warned: you have to remove the old Perl::Magick *.pm files too, otherwise you may still use the old versions... -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Tue May 9 15:11 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id PAA15311 for ; Tue, 9 May 2000 15:11:14 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id PAA24539 for ; Tue, 9 May 2000 15:11:13 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma024537; Tue, 9 May 00 15:11:01 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id JAA17934; Tue, 9 May 2000 09:09:29 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id IAA13522 for magick-outgoing; Tue, 9 May 2000 08:42:00 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <3917FC90.8B8B0CF@gmx.net> Date: Tue, 09 May 2000 13:54:56 +0200 From: Pletschette Andre X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.2.13 i586) X-Accept-Language: fr, en, de MIME-Version: 1.0 To: "magick@wizards.dupont.com" Subject: Undefined Symbol: SetWarningHandler Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Pletschette Andre Content-Type: text/plain; charset=us-ascii Status: RO X-Status: A Content-Length: 766 Lines: 19 When I tried to write a perl script with the following line in it: use Image::Magick; I get the following error-message: perl: error in loading shared librairies: /usr/lib/perl5/site_perl/5.005/i586-lin ux/auto/Image/Magick/Magick.so: undefined symbol: SetWarningHandler Could anybody tell me what this means, and how I can get it run, I run Suse Linux 6.3 and I've installed Image Magick with the C++ and the Perl Modules. *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed May 17 16:07 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id QAA15770 for ; Wed, 17 May 2000 16:07:07 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id QAA04359 for ; Wed, 17 May 2000 16:07:06 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma004357; Wed, 17 May 00 16:06:40 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id KAA02079; Wed, 17 May 2000 10:05:01 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id JAA23880 for magick-outgoing; Wed, 17 May 2000 09:41:41 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Date: Wed, 17 May 2000 08:46:17 -0500 (CDT) From: Bob Friesenhahn X-Sender: bfriesen@scooby.simplesystems.org To: Martin Bobrovsky cc: ImageMagick Mailing List Subject: Re: watermarks/embossing In-Reply-To: <4.3.1.2.20000517112416.00c72e30@mail.dot.at> Message-ID: MIME-Version: 1.0 Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bob Friesenhahn Content-Type: TEXT/PLAIN; charset=US-ASCII Status: RO Content-Length: 1912 Lines: 53 If you can afford the Digimarc library (see http://www.digimarc.com/licensing/sdk.html & http://www.digimarc.com/news/pr00-13.html), Bill Radcliffe can send you source for an ImageMagick module to do professional-grade watermarking. ImageMagick's 'combine' utility supports simplistic hidden watermarking via its -stegano option. If you want a visible logo, you could use -compose to compose your logo on top of, or blended with, the base image. Your visible logo can be mostly transparent in order to not disturb the image too much. See this interesting article about digital watermarking: http://www.spie.org/web/oer/november/nov99/cover1.html Bob On Wed, 17 May 2000, Martin Bobrovsky wrote: > Hi! > > Can someone tell how I achieve the effect of embossing a text onto an > image? My intention is to "secure" images on the web by applying a symbol > or text which on the one hand does not affect the impression of the image > too much, but on the other hand, makes the image "unusable" for > professional printing purposes ... > > thanks, > martin > > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** > ====================================== Bob Friesenhahn bfriesen@simple.dallas.tx.us http://www.simplesystems.org/users/bfriesen *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-bugs@simple.dallas.tx.us Wed Jun 14 16:54 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id QAA25632 for ; Wed, 14 Jun 2000 16:54:28 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id QAA12167 for ; Wed, 14 Jun 2000 16:54:27 +0200 Received: from ns.simplesystems.org(204.252.75.242) by ns.ATComputing.nl via smap (V2.1) id xma012165; Wed, 14 Jun 00 16:54:12 +0200 Received: from localhost (localhost [127.0.0.1]) by ns.simplesystems.org (8.9.3/8.9.3) with ESMTP id JAA14556 for ; Wed, 14 Jun 2000 09:54:08 -0500 (CDT) From: magick-bugs@simple.dallas.tx.us Date: Wed, 14 Jun 2000 09:54:08 -0500 (CDT) Message-Id: <200006141454.JAA14556@ns.simplesystems.org> To: markov@ATComputing.nl Subject: Re: Annotate problems (PR#298) X-Loop: magick-bugs@simple.dallas.tx.us Content-Type: text Status: RO X-Status: A Content-Length: 316 Lines: 9 Thank you for submitting an ImageMagick bug report to magick-bugs@simplesystems.org. Your bug report is available on the web at the URL http://www.simplesystems.org/ImageMagick/bugs?findid=298 Report any problems with the bug tracking system itself to Bob Friesenhahn . From markov@ATComputing.nl Wed Jun 14 17:43:34 2000 Date: Wed, 14 Jun 2000 17:43:34 +0200 From: Mark Overmeer To: Cristy Subject: Re: your mail Message-ID: <20000614174334.G22766@atcmpg.ATComputing.nl> References: <8172.960997992@mystic> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <8172.960997992@mystic>; from cristy@mystic.es.dupont.com on Wed, Jun 14, 2000 at 11:53:11AM -0400 Status: RO X-Status: A Content-Length: 1437 Lines: 34 * Cristy (cristy@mystic.es.dupont.com) [000614 17:23]: > $img->Read("logo:"); > $text="I am a LumberJack"; > $poinsize=40; > my ($width, $height) = $img->Get('width', 'height'); > $img->Annotate > ( fill => 'yellow' > , text => $text > , font => > '-bitstream-charter-medium-r-normal--40-0-0-0-p-0-iso8859-1' > , gravity => 'SouthEast' > , 'x' => 5 > , 'y' => $poinsize+5 > ); > $img->Write(filename => "test.gif"); So: gravity work differently from my well known "anchor", where x,y defines a point and anchor the location of the point wrt the item to be put on the background. It was not clear from the docs. It what you propose a feature or a designed thing? You specify the coordinate of the right-top (NorthEast) wrt to the right-bottom (SouthEast). I expect that x=0,y=0,SouthWest will work wrt to NorthWest. It is not logical for me to treat North/South differently from East/West (designed before the fall of the Iron curtain?) And also: the text still appears in black. -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From cristy@mystic.es.dupont.com Wed Jun 14 17:23 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA27207 for ; Wed, 14 Jun 2000 17:23:28 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA12199 for ; Wed, 14 Jun 2000 17:23:27 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012197; Wed, 14 Jun 00 17:23:08 +0200 Received: from mystic.es.dupont.com (mystic.es.dupont.com [138.196.253.24]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id LAA26619 for ; Wed, 14 Jun 2000 11:23:06 -0400 (EDT) Received: (from cristy@localhost) by mystic.es.dupont.com (8.10.0.Beta12/8.10.0.Beta12) id e5EFrBI08173 for markov@ATComputing.nl; Wed, 14 Jun 2000 11:53:11 -0400 (EDT) Date: Wed, 14 Jun 2000 11:53:11 -0400 (EDT) From: Cristy Message-ID: <8172.960997992@mystic> Mime-Version: 1.0 To: markov@ATComputing.nl Content-Type: multipart/mixed; boundary="-" Status: RO X-Status: A Content-Length: 1063 Lines: 21 This is a MIME encoded message. Decode it with "munpack" or any other MIME reading software. Mpack/munpack is available via anonymous FTP in ftp.andrew.cmu.edu:pub/mpack/ --- Content-Type: application/octet-stream; name="test.pl" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="test.pl" Content-MD5: el1GVGE1xEpFTeim4lKdYA== ICAgdXNlIEltYWdlOjpNYWdpY2s7CiAgICRpbWc9SW1hZ2U6Ok1hZ2ljay0+bmV3OwogICAk aW1nLT5SZWFkKCJsb2dvOiIpOwogICAkdGV4dD0iSSBhbSBhIEx1bWJlckphY2siOwogICAk cG9pbnNpemU9NDA7CiAgIG15ICgkd2lkdGgsICRoZWlnaHQpID0gJGltZy0+R2V0KCd3aWR0 aCcsICdoZWlnaHQnKTsKICAgJGltZy0+QW5ub3RhdGUKICAgICAgKCBmaWxsICAgID0+ICd5 ZWxsb3cnCiAgICAgICwgdGV4dCAgICAgID0+ICR0ZXh0CiAgICAgICwgZm9udCAgICAgID0+ CictYml0c3RyZWFtLWNoYXJ0ZXItbWVkaXVtLXItbm9ybWFsLS00MC0wLTAtMC1wLTAtaXNv ODg1OS0xJwogICAgICAsIHBvaW50c2l6ZSA9PiAkcG9pbnNpemUKICAgICAgLCBncmF2aXR5 ICAgPT4gJ1NvdXRoRWFzdCcKICAgICAgLCAneCcgICAgICAgPT4gNQogICAgICAsICd5JyAg ICAgICA9PiAkcG9pbnNpemUrNQogICAgICApOwogICAkaW1nLT5Xcml0ZShmaWxlbmFtZSAg PT4gInRlc3QuZ2lmIik7Cgo= ----- From markov@ATComputing.nl Wed Jun 14 17:49:26 2000 Date: Wed, 14 Jun 2000 17:49:26 +0200 From: Mark Overmeer To: Cristy Subject: Re: your mail Message-ID: <20000614174926.H22766@atcmpg.ATComputing.nl> References: <200006141616.e5EGG3x19487@mystic.es.dupont.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <200006141616.e5EGG3x19487@mystic.es.dupont.com>; from cristy@mystic.es.dupont.com on Wed, Jun 14, 2000 at 12:16:03PM -0400 Status: RO Content-Length: 703 Lines: 17 * Cristy (cristy@mystic.es.dupont.com) [000614 17:46]: > > It was not clear from the docs. > > There is alot that is not clear in the docs. We're writing a book due > out next year to fix these sorts of problems. I'll certainly buy the book. But: will you also respond to the two remaining quesions from my previous mail? -- Thanks for the fast response, MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From cristy@mystic.es.dupont.com Wed Jun 14 17:46 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA27475 for ; Wed, 14 Jun 2000 17:46:29 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA12244 for ; Wed, 14 Jun 2000 17:46:28 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012242; Wed, 14 Jun 00 17:45:59 +0200 Received: from mystic.es.dupont.com (mystic.es.dupont.com [138.196.253.24]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id LAA26733 for ; Wed, 14 Jun 2000 11:45:58 -0400 (EDT) Received: (from cristy@localhost) by mystic.es.dupont.com (8.10.0.Beta12/8.10.0.Beta12) id e5EGG3x19487 for markov@ATComputing.nl; Wed, 14 Jun 2000 12:16:03 -0400 (EDT) Date: Wed, 14 Jun 2000 12:16:03 -0400 (EDT) From: Cristy Message-Id: <200006141616.e5EGG3x19487@mystic.es.dupont.com> To: markov@ATComputing.nl Subject: Re: your mail Content-Type: text Status: RO X-Status: A Content-Length: 156 Lines: 4 > It was not clear from the docs. There is alot that is not clear in the docs. We're writing a book due out next year to fix these sorts of problems. From cristy@mystic.es.dupont.com Wed Jun 14 17:56 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA27517 for ; Wed, 14 Jun 2000 17:55:59 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA12254 for ; Wed, 14 Jun 2000 17:55:58 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012252; Wed, 14 Jun 00 17:55:29 +0200 Received: from mystic.es.dupont.com (mystic.es.dupont.com [138.196.253.24]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id LAA26777 for ; Wed, 14 Jun 2000 11:55:28 -0400 (EDT) Received: (from cristy@localhost) by mystic.es.dupont.com (8.10.0.Beta12/8.10.0.Beta12) id e5EGPYM19527 for markov@ATComputing.nl; Wed, 14 Jun 2000 12:25:34 -0400 (EDT) Date: Wed, 14 Jun 2000 12:25:34 -0400 (EDT) From: Cristy Message-Id: <200006141625.e5EGPYM19527@mystic.es.dupont.com> To: markov@ATComputing.nl Subject: Re: your mail Content-Type: text Status: RO Content-Length: 194 Lines: 5 > But: will you also respond to the two > remaining quesions from my previous mail? Sure if you remind me what they are. I get upwards of 100+ e-mails a day so it's hard to keep track... From markov@ATComputing.nl Wed Jun 14 18:00:18 2000 Date: Wed, 14 Jun 2000 18:00:18 +0200 From: Mark Overmeer To: Cristy Subject: Re: your mail Message-ID: <20000614180018.I22766@atcmpg.ATComputing.nl> References: <8172.960997992@mystic> <20000614174334.G22766@atcmpg.ATComputing.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <20000614174334.G22766@atcmpg.ATComputing.nl>; from markov@ATComputing.nl on Wed, Jun 14, 2000 at 05:43:34PM +0200 Status: RO Content-Length: 2019 Lines: 47 >> But: will you also respond to the two >> remaining quesions from my previous mail? >Sure if you remind me what they are. I get upwards of 100+ e-mails a day >so it's hard to keep track... You replied just a few seconds earlier on my message below. I replied in a few seconds to it... but I understand you have to scan mail that fast. (I maintain 6 websites, so know getting large amounts of e-mail means) Thanks for the example anyway. * Mark Overmeer (markov@ATComputing.nl) [000614 17:43]: > * Cristy (cristy@mystic.es.dupont.com) [000614 17:23]: > > $img->Read("logo:"); > > $text="I am a LumberJack"; > > $poinsize=40; > > my ($width, $height) = $img->Get('width', 'height'); > > $img->Annotate > > ( fill => 'yellow' > > , text => $text > > , font => > > '-bitstream-charter-medium-r-normal--40-0-0-0-p-0-iso8859-1' > > , gravity => 'SouthEast' > > , 'x' => 5 > > , 'y' => $poinsize+5 > > ); > > $img->Write(filename => "test.gif"); > > So: gravity work differently from my well known "anchor", where > x,y defines a point and anchor the location of the point wrt the > item to be put on the background. It was not clear from the docs. > > It what you propose a feature or a designed thing? You specify the > coordinate of the right-top (NorthEast) wrt to the right-bottom > (SouthEast). I expect that x=0,y=0,SouthWest will work wrt to > NorthWest. It is not logical for me to treat North/South differently > from East/West (designed before the fall of the Iron curtain?) > > And also: the text still appears in black. > -- > MarkOv %-] > > ------------------------------------------------------------------------ > drs Mark A.C.J. Overmeer markov@ATComputing.nl > AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl > http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From markov@ATComputing.nl Wed Jun 14 18:17:41 2000 Date: Wed, 14 Jun 2000 18:17:41 +0200 From: Mark Overmeer To: Cristy Subject: Re: your mail Message-ID: <20000614181741.J22766@atcmpg.ATComputing.nl> References: <200006141634.e5EGYfI19547@mystic.es.dupont.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="5vNYLRcllDrimb99" X-Mailer: Mutt 1.0pre4i In-Reply-To: <200006141634.e5EGYfI19547@mystic.es.dupont.com>; from cristy@mystic.es.dupont.com on Wed, Jun 14, 2000 at 12:34:41PM -0400 Status: RO Content-Length: 4587 Lines: 82 --5vNYLRcllDrimb99 Content-Type: text/plain; charset=us-ascii * Cristy (cristy@mystic.es.dupont.com) [000614 18:05]: > > It what you propose a feature or a designed thing? You specify the > > coordinate of the right-top (NorthEast) wrt to the right-bottom > > (SouthEast). I expect that x=0,y=0,SouthWest will work wrt to > > NorthWest. It is not logical for me to treat North/South differently > > from East/West (designed before the fall of the Iron curtain?) > > I'll send you a script that illustrates how gravity works. The x,y > offset basically creates a bounding box within the image and the text > is placed relative to the virtual bounding box. As you can see in your own demo script, it is not consequent: W and E are inside the square, while N and S are outside... in my run. Image attached. I changed the line-color you yellow (stroke) which worked, but it still does not work for the text. > Are you using ImageMagick 5.2.0? When I used the script I sent the > text color was indeed yellow. The latest 5.2.0 (less than 48 hours ago directly from imagemagick.org). Sorry, no more time to investigate for me today: have to go... -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl --5vNYLRcllDrimb99 Content-Type: image/gif Content-Disposition: attachment; filename="test.gif" Content-Transfer-Encoding: base64 R0lGODlhkAGQAfECAP///wAAAP//AAAAACH5BAAAAAAALAAAAACQAZABAAL+hI+py+0Po5y0 2ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1is1q t9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7P6/f8vv8PGCg4SFhoeIiYqLjI2Oj4CBkpOUlZ aXmJmam5ydnp+QkaKjpKWmp6ipqqusra6voKGys7S1tre4ubq7vL2+v7CxwsPExcbHyMnKy8 zNzs/AwdLT1NXW19jZ2tvc3d7f0NHi4+Tl5ufo6err7O3u7+Dh8vP09fb3+Pn6+/z9/v/w8w oMCBBAsaPIgwocIgARo2VOAwokQAEh8eiLhiYoL+ijI0IqgIkmM6jx8DXHRY0iRElRkxrqxB 8mTKl+pcbmRJ0eJJnAZ4qrBZ0gZQmUEhrouZ8+ZNnz5TINU54ylPqBePmkRZdKfSrCweYiVK wyvVsU3ZWfyadOZOnGVRnIVKNcZbtlOZmmUJlylduDB05hWKl+5WsCMDB16JN63iFn4bA9ba sy7Iu2rjYhWrsq3bvZEfQyY7WFtIm2SvNkWZ+Szi0RBGfy2t2HVcCbIPzwS9MSXrbZZNL/A4 lLHexR2H4/5IefVvtMG7nkZbfPlxeLOb55QcXTnM59ORF2YAHTLhF7Ove0Yc2ju22uzbu38P P778+fTrt1+meW35tqf+5WoUkFtUSPUUWW204XcGgGbkBwyDWyhYhoO+SJgFhGRQyAuGV1g4 hoa6eFgFh2KAiAuJU4gYhom2qBgFimCwSAuMT7j4hYyy2NgEjV7gCAuPS+jYhY+uCJkEkFwQ yQqSRxi5hZKqOFkEk1pAiQqVQ0iZhZWmaBkEllhwSQqYP3h5hZiimNkDmVagCQqbO6hZhZue yJkDnFTQyQmeN9g5hZ6a+FkDn1IAigmhMwgahaGWKBoDolAwSgmkLzj6hKSSWNoCpU5gCgmn K2jahKeOiJoCqEyQygiqJ5i6hKqKuFoCq0rAigitI8iahK2G6BoCrkjwSgiwH/h6hLCCGNv+ AbFGIAsIsxsoW4SzfkibAbREUMsHthdYO4S2enhbAbdCgIsHuROIyxCCZqALhLl2uBsBuz/A Swe9D8jrg71y6NsAvj3wCwfAC/jLg8BuGJwAwTsgzAbDByisg8NqSAwAxDlQjAbFFuOA8Rka e6xuGRvf0PGCCYKszMcmp3zyysmoHGHIZIwslMxj0AyTzWLgHJbOYfAclc9gAN2R0F8QLZfR XiDdl9JdME2e01xA7ULJMa+L8sstX6011i4jA/OFUj+YNdhbi82y11ybrTbaXYtc9jFhdzi2 FlQzVneFcRsz94h5Y3F3V39vuHcxfac4uBWBZ5R4iIUTc/iLjVP+sfhPk5/4+DCR13i5FJU7 1XmLmQuz+Y6hQ/G5W6fPOHowpQe5uhOpn2C12zO33mAEHE22FkOTucregWm3xlx1nGKkoHXt 9ib828RjF2C+OllYnu+/Nc82bdCr9y9OHNpaHfZyUwBddxFD9X2uKtZO9wTF8zUvT7M7YJn7 +AmAf/76749/Q/pH9D/+CXCABCygAQnovwMqcIEMbGABE5g/CB6QfX4jn19iczz5VSok9hue 9lJjHopYDwHza4D5TIgfAy1FhCGUzG5AoEKquEiFTpENVwhUINckDjjhKRj6NmgU8fHNAkBR 3sV+uKn1Na581TsfS0oInrI4iIKII+L+Cbv3xOgtS4q6m9xwroUSCDVxeehpjRevt8UBjSt4 ZvTgzXD3i9cdKXY5guOEztY+573xa+NrWx6zdzs+DtGPFdTjzuzYCzk2iY5MgOIIqCg5QlbR kD9DZIbwWEhA7nFtfYSbIA2HyUlq8pCfhFwoI0nJoVlyF4qcEiN/tMoPnZJzbiQlJwfpyVuC UpKoHGUlS6m5WZqulr/UpSl5SctUHi2WuWhlll6pBEeKAJLJDKQxg4nMYSpzacwskTBhR0xV ApN035xjOJc5TteVc5Hn5GY6c5dNcG7zad28hTO/BM0i1XNF63RlO+n5zjj285n/nNo+a3HP MuUTCdIMATX+tWlN23Uyon+c6CYlikuKZtKitsToLnPp0WOCtKIZvShJP6pRUXK0mCHF5kg3 WtKOnlSkKe3lSsV5TXLG05zzNGhA77hTdvaUbD9N5EDxWVCi5lSdQfXnUO120BgdVaFJhWpR L9lUgj5Vb1dl5VTXtNAlRXUWCQVrVbm6VHi+VKUxZelMXVrTat4UnWkVaFaRulXAjfVGX41T WI3QUBim0D6ELaxhD4vYxMJnIYwNEu92J5IchoV3C3ssDdHxmsbk5TmTNYwPPSue8ZhjOky0 y2TTQ7K6oJaF39EiccKjp/pVNoiiZS1mSdudMf7kigJSbW3v0sT3sQUwut1OcE3+a5Xj6oZ7 vfWU8nhbDjW+BoMcMyJxjUdZ4GK3M5dxYnGb+8XfVuOyy0VPajKzGg5WgLy9y6F6OcBeyd7Q tvHlDWxJ08PUfre5831oH7ijHfnmrIwck858zRJFA6tlwDQp8HIObNvocpbAnUntg4944QrT 9hybReFqs1MgHy5Yw6EdbXY3XJXqRta7+K1vY18M4xjLeMY0rrGNb4zjHOt4xzzusY9/DOQg C3nIRC6ykY+M5CQreclMbrKTnwzlKEt5ylSuspWvjOUsa3nLXO6yl78M5jCLecxkLrOZz4zm NKt5zWxus5vfDOc4y3nOdK6zne+M5zzrec987rOf/wwg6EALetCELrShD43oRCt60YxutKMf DelIS3rSlF50AQAAOw== --5vNYLRcllDrimb99-- From cristy@mystic.es.dupont.com Wed Jun 14 18:05 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA28005 for ; Wed, 14 Jun 2000 18:04:59 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA12271 for ; Wed, 14 Jun 2000 18:04:58 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012267; Wed, 14 Jun 00 18:04:36 +0200 Received: from mystic.es.dupont.com (mystic.es.dupont.com [138.196.253.24]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id MAA26846 for ; Wed, 14 Jun 2000 12:04:35 -0400 (EDT) Received: (from cristy@localhost) by mystic.es.dupont.com (8.10.0.Beta12/8.10.0.Beta12) id e5EGYfI19547 for markov@ATComputing.nl; Wed, 14 Jun 2000 12:34:41 -0400 (EDT) Date: Wed, 14 Jun 2000 12:34:41 -0400 (EDT) From: Cristy Message-Id: <200006141634.e5EGYfI19547@mystic.es.dupont.com> To: markov@ATComputing.nl Subject: Re: your mail Content-Type: text Status: RO X-Status: A Content-Length: 684 Lines: 14 > It what you propose a feature or a designed thing? You specify the > coordinate of the right-top (NorthEast) wrt to the right-bottom > (SouthEast). I expect that x=0,y=0,SouthWest will work wrt to > NorthWest. It is not logical for me to treat North/South differently > from East/West (designed before the fall of the Iron curtain?) I'll send you a script that illustrates how gravity works. The x,y offset basically creates a bounding box within the image and the text is placed relative to the virtual bounding box. > And also: the text still appears in black. Are you using ImageMagick 5.2.0? When I used the script I sent the text color was indeed yellow. From cristy@eplrx7.es.dupont.com Wed Jun 14 18:05 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA28006 for ; Wed, 14 Jun 2000 18:04:59 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA12272 for ; Wed, 14 Jun 2000 18:04:58 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012268; Wed, 14 Jun 00 18:04:47 +0200 Received: from eplrx7.es.dupont.com (eplrx7.es.dupont.com [138.196.252.7]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id MAA26850 for ; Wed, 14 Jun 2000 12:04:46 -0400 (EDT) Received: from fantasia.es.dupont.com (fantasia.es.dupont.com [138.196.253.22]) by eplrx7.es.dupont.com (8.9.3/8.9.3) with ESMTP id MAA06403 for ; Wed, 14 Jun 2000 12:04:45 -0400 (EDT) Received: by fantasia.es.dupont.com (8.9.3+Sun) id MAA01601; Wed, 14 Jun 2000 12:03:33 -0400 (EDT) From: Cristy Date: Wed, 14 Jun 2000 12:03:33 -0400 (EDT) Message-ID: <1600.960998613@fantasia> Mime-Version: 1.0 To: markov@ATComputing.nl Content-Type: multipart/mixed; boundary="-" Status: RO Content-Length: 2043 Lines: 34 This is a MIME encoded message. Decode it with "munpack" or any other MIME reading software. Mpack/munpack is available via anonymous FTP in ftp.andrew.cmu.edu:pub/mpack/ --- Content-Type: application/octet-stream; name="gravity.pl" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="gravity.pl" Content-MD5: faVMCotdBUpHJCDAv7HACA== IyEvdXNyL2xvY2FsL2Jpbi9wZXJsCgp1c2UgSW1hZ2U6Ok1hZ2ljazsKCiRwaWMgPSBJbWFn ZTo6TWFnaWNrLT5uZXcoc2l6ZT0+IjQwMHg0MDAiKTsKJHBpYy0+UmVhZCgieGM6d2hpdGUi KTsKCiR4ID0gMTAwOwokeSA9IDEwMDsKJHBpYy0+RHJhdyhwcmltaXRpdmU9PidsaW5lJyxw b2ludHM9PiIyMDAsMTAwIDIwMCwzMDAiLHN0cm9rZT0+J2JsYWNrJyk7CiRwaWMtPkRyYXco cHJpbWl0aXZlPT4nbGluZScscG9pbnRzPT4iMTAwLDIwMCAzMDAsMjAwIixzdHJva2U9Pidi bGFjaycpOwokcGljLT5EcmF3KHByaW1pdGl2ZT0+J3JlY3RhbmdsZScscG9pbnRzPT4iMTAw LDEwMCAzMDAsMzAwIixzdHJva2U9PidibGFjaycpOwokcGljLT5Bbm5vdGF0ZShwb2ludHNp emU9PjI0LGZvbnQ9PidUaW1lcycsdGV4dD0+Ii1OVy0iLGdyYXZpdHk9PiJOb3J0aFdlc3Qi LHg9PiR4LHk9PiR5KTsKJHBpYy0+QW5ub3RhdGUocG9pbnRzaXplPT4yNCxmb250PT4nVGlt ZXMnLHRleHQ9PiItTi0iLGdyYXZpdHk9PiJOb3J0aCIseD0+JHgseT0+JHkpOwokcGljLT5B bm5vdGF0ZShwb2ludHNpemU9PjI0LGZvbnQ9PidUaW1lcycsdGV4dD0+Ii1ORS0iLGdyYXZp dHk9PiJOb3J0aEVhc3QiLHg9PiR4LHk9PiR5KTsKJHBpYy0+QW5ub3RhdGUocG9pbnRzaXpl PT4yNCxmb250PT4nVGltZXMnLHRleHQ9PiItRS0iLGdyYXZpdHk9PiJFYXN0Iix4PT4keCx5 PT4keSk7CiRwaWMtPkFubm90YXRlKHBvaW50c2l6ZT0+MjQsZm9udD0+J1RpbWVzJyx0ZXh0 PT4iLUMtIixncmF2aXR5PT4iQ2VudGVyIix4PT4keCx5PT4keSk7CiRwaWMtPkFubm90YXRl KHBvaW50c2l6ZT0+MjQsZm9udD0+J1RpbWVzJyx0ZXh0PT4iLVNFLSIsZ3Jhdml0eT0+IlNv dXRoRWFzdCIseD0+JHgseT0+JHkpOwokcGljLT5Bbm5vdGF0ZShwb2ludHNpemU9PjI0LGZv bnQ9PidUaW1lcycsdGV4dD0+Ii1TLSIsZ3Jhdml0eT0+IlNvdXRoIix4PT4keCx5PT4keSk7 CiRwaWMtPkFubm90YXRlKHBvaW50c2l6ZT0+MjQsZm9udD0+J1RpbWVzJyx0ZXh0PT4iLVNX LSIsZ3Jhdml0eT0+IlNvdXRoV2VzdCIseD0+JHgseT0+JHkpOwokcGljLT5Bbm5vdGF0ZShw b2ludHNpemU9PjI0LGZvbnQ9PidUaW1lcycsdGV4dD0+Ii1XLSIsZ3Jhdml0eT0+Ildlc3Qi LHg9PiR4LHk9PiR5KTsKCiRwaWMtPldyaXRlKGZpbGVuYW1lPT4idGVzdC5naWYiKTsKc3lz dGVtKCJkaXNwbGF5IHRlc3QuZ2lmIik7Cg== ----- From magick-owner@unca-don.wizards.dupont.com Thu Jun 29 18:01 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA10314 for ; Thu, 29 Jun 2000 18:01:15 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA00740 for ; Thu, 29 Jun 2000 18:01:14 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma000732; Thu, 29 Jun 00 18:01:07 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id MAA07078; Thu, 29 Jun 2000 12:00:36 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA10740 for magick-outgoing; Thu, 29 Jun 2000 11:48:25 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <395B7519.F40670B@northrim.net> Date: Thu, 29 Jun 2000 10:11:05 -0600 From: Karl Sloth X-Mailer: Mozilla 4.72 [en] (X11; I; Linux 2.2.14 i586) X-Accept-Language: en MIME-Version: 1.0 To: magick@wizards.dupont.com Subject: mailing list archives Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Karl Sloth Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 569 Lines: 17 Hi all- The folks at The Aims Group have added the ImageMagick mailing list to their online mailing list archives. They have a searchable history going back to 1996. Very handy. http://marc.theaimsgroup.com/?l=imagemagick&r=1&w=2 -karl *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Tue Jul 4 12:33:47 2000 Date: Tue, 4 Jul 2000 12:33:47 +0200 From: Mark Overmeer To: magick-bugs@simple.dallas.tx.us Subject: Re: Annotate problems (PR#298) Message-ID: <20000704123347.F2009@atcmpg.ATComputing.nl> References: <200006141454.JAA14556@ns.simplesystems.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <200006141454.JAA14556@ns.simplesystems.org>; from magick-bugs@simple.dallas.tx.us on Wed, Jun 14, 2000 at 09:54:08AM -0500 Status: RO Content-Length: 585 Lines: 12 * magick-bugs@simple.dallas.tx.us (magick-bugs@simple.dallas.tx.us) [000614 16:54]: > Your bug report is available on the web at the URL > http://www.simplesystems.org/ImageMagick/bugs?findid=298 Both indicated problems are fixed in 5.2.1 -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Sun Jul 2 02:40 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id CAA01634 for ; Sun, 2 Jul 2000 02:40:25 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id CAA03454 for ; Sun, 2 Jul 2000 02:40:24 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma003450; Sun, 2 Jul 00 02:40:07 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id UAA32165; Sat, 1 Jul 2000 20:39:55 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id UAA16952 for magick-outgoing; Sat, 1 Jul 2000 20:30:03 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <395E8F1F.B804FCB7@interak.com> Date: Sat, 01 Jul 2000 16:38:55 -0800 From: Marc Grober X-Mailer: Mozilla 4.61 [en] (X11; I; UnixWare 5 i386) MIME-Version: 1.0 To: magick@wizards.dupont.com Subject: delegates.mgk set-up for unixware printing Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Marc Grober Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 1448 Lines: 45 Under unixware to print from displayt to an HP laserjet (usual command to print postscript being lp -dhpraw -Tpostscript), I changed the delegates.mgk file (which I found in /usr/local/share/Magick as installed from the SCO skunkware CD) from ps<=print /usr/bin/lp -c -s %i to ps<=print /usr/bin/lp -dhpraw -c -s -Tpostscript %i and it appears everything is working. The -c make an immediate copy and feeds it to the spooler and without it you get an error message (below) which my guess is is a bit misleading in that I have to assume that what is really happening is that without the -c IM is not passing anything to the spooler........ ****************************************************************************** Subject: Status of lp request hpraw-347 Your request hpraw-347 destined for hpraw encountered an error during filtering. Reason for failure: UX:lp: ERROR: Cannot read the file "/tmp/hacienda.jpg". TO FIX: See if it still exists and is readable, or consult your system administrator. *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Mon Jul 3 16:12 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id QAA28389 for ; Mon, 3 Jul 2000 16:12:41 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id QAA05092 for ; Mon, 3 Jul 2000 16:12:40 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma005088; Mon, 3 Jul 00 16:12:32 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id KAA12560; Mon, 3 Jul 2000 10:12:03 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id KAA20768 for magick-outgoing; Mon, 3 Jul 2000 10:01:07 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <395BACF9.CFA6970@interak.com> Date: Thu, 29 Jun 2000 12:09:30 -0800 From: Marc Grober X-Mailer: Mozilla 4.61 [en] (X11; I; UnixWare 5 i386) MIME-Version: 1.0 To: magick@wizards.dupont.com Subject: printing solution for UW 7.1 Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Marc Grober Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 1546 Lines: 46 Under unixware to print from displayt to an HP laserjet (usual command to print postscript being lp -dhpraw -Tpostscript), I changed the delegates.mgk file (which I found in /usr/local/share/Magick as installed from the SCO skunkware CD) from ps<=print /usr/bin/lp -c -s %i to ps<=print /usr/bin/lp -dhpraw -c -s -Tpostscript %i and it appears everything is working. The -c make an immediate copy and feeds it to the spooler and without it you get an error message (below) which my guess is is a bit misleading in that I have to assume that what is really happening is that without the -c IM is not passing anything to the spooler........ ****************************************************************************** Subject: Status of lp request hpraw-347 Your request hpraw-347 destined for hpraw encountered an error during filtering. Reason for failure: UX:lp: ERROR: Cannot read the file "/tmp/hacienda.jpg". TO FIX: See if it still exists and is readable, or consult your system administrator. I have tried this with jpegs, gifs etc and in quite a number of locations Placed the -c -s back in *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Fri Jul 7 09:27 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id JAA27505 for ; Fri, 7 Jul 2000 09:27:32 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id JAA11016 for ; Fri, 7 Jul 2000 09:27:31 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma011014; Fri, 7 Jul 00 09:27:21 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id DAA06530; Fri, 7 Jul 2000 03:26:27 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id DAA06369 for magick-outgoing; Fri, 7 Jul 2000 03:15:15 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Date: Fri, 7 Jul 2000 17:24:12 +1000 From: Martien Verbruggen To: Geoff Armstrong Cc: ImageMagick Mailing List Subject: Re: converts new sharpen factors Message-ID: <20000707172412.C23320@martien.heliotrope.home> References: <00070515380200.26142@berlioz> Mime-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.2.2i In-Reply-To: <00070515380200.26142@berlioz>; from geofstro@monaco.mc on Wed, Jul 05, 2000 at 03:35:26PM +0200 Organisation: Heliotrope Productions Pty. Ltd. Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Martien Verbruggen Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 1519 Lines: 36 -- Geoff Armstrong wrote on Wed 5 Jul 15:35 PM -- > Hi, > > I know the sharpen factors for convert have changed since 5.2.0; but I > can't find the new factors documented anywhere. The factors are no longer really factors, but orders for a convolution kernel, if I've understood it all correctly. Since convolution has become available in ImageMagick, many of the old filters have been rewritten to use a kernel (blur, sharpen, charcoal, emboss, edge). The convert manual page mentions that good values are odd numbers between 3 and 31. Martien PS. If you don't know what convolution is: apply a matrix to each pixel, and it's surrounding neighbors covered by the matrix. The values of each covered pixel get multiplied by the matrix cell's value, and all added together. The new value for the target pixel is this sum. The 'order' that I talked about above is the height and width of the matrix involved (in ImageMagick they're always square). -- Martien Verbruggen | Interactive Media Division | "In a world without fences, Commercial Dynamics Pty. Ltd. | who needs Gates?" NSW, Australia | *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Fri Jul 7 17:55 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA13560 for ; Fri, 7 Jul 2000 17:55:42 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA15121 for ; Fri, 7 Jul 2000 17:55:42 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma015105; Fri, 7 Jul 00 17:55:27 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id LAA24776; Fri, 7 Jul 2000 11:54:30 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA07897 for magick-outgoing; Fri, 7 Jul 2000 11:44:52 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Date: Fri, 7 Jul 2000 12:23:40 -0400 (EDT) From: Cristy Message-Id: <200007071623.e67GNev10760@mystic.es.dupont.com> To: magick@wizards.dupont.com Subject: New ImageMagick mailing list Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Cristy Content-Type: text Status: RO Content-Length: 1273 Lines: 31 *********************************************************************** This list is being decommissioned. Please join one or more of the new ImageMagick mailing lists as described at http://www.imagemagick.org/www/magick-list.html. *********************************************************************** In response to a number of suggestions and/or complaints about the magick@wizards.dupont.com ImageMagick mailing list, I have created three new lists: magick-user@imagemagick.org magick-deveoper@imagemagick.org magick-announce@imagemagick.org See http://www.imagemagick.org/www/magick-list.html for instructions on joining and/or posting. I will keep the current list at magick@wizards.dupont.com running for the next couple of months to cause the least amount of disruption. At your convenience unsubscribe from magick@wizards.dupont.com and choose one of the lists above, whichever is appropriate. *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Sat Jul 8 10:27:08 2000 Date: Sat, 8 Jul 2000 10:27:08 +0200 From: Mark Overmeer To: majordomo@imagemagick.org Subject: subscribe Message-ID: <20000708102708.B1570@atcmpg.ATComputing.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i Status: RO Content-Length: 28 Lines: 1 subscribe magick-developer From markov@ATComputing.nl Sat Jul 8 13:53:18 2000 Date: Sat, 8 Jul 2000 13:53:18 +0200 From: Mark Overmeer To: Majordomo@imagemagick.org Subject: Re: Confirmation for subscribe magick-developer Message-ID: <20000708135318.A2549@atcmpg.ATComputing.nl> References: <200007080855.EAA15589@imagemagick.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <200007080855.EAA15589@imagemagick.org>; from Majordomo@imagemagick.org on Sat, Jul 08, 2000 at 04:55:40AM -0400 Status: RO Content-Length: 64 Lines: 1 auth 44b84310 subscribe magick-developer markov@ATComputing.nl From Majordomo-Owner@imagemagick.org Sat Jul 8 10:27 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id KAA01750 for ; Sat, 8 Jul 2000 10:27:39 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id KAA25253 for ; Sat, 8 Jul 2000 10:27:38 +0200 Received: from magick.imagemagick.org(38.220.172.2) by ns.ATComputing.nl via smap (V2.1) id xma025238; Sat, 8 Jul 00 10:27:26 +0200 Received: (from majordomo@localhost) by imagemagick.org (8.9.3/8.9.3) id EAA15589; Sat, 8 Jul 2000 04:55:40 -0400 Date: Sat, 8 Jul 2000 04:55:40 -0400 Message-Id: <200007080855.EAA15589@imagemagick.org> X-Authentication-Warning: magick.imagemagick.org: majordomo set sender to Majordomo-Owner@imagemagick.org using -f To: markov@ATComputing.nl From: Majordomo@imagemagick.org Subject: Confirmation for subscribe magick-developer Reply-To: Majordomo@imagemagick.org Content-Type: text Status: RO X-Status: A Content-Length: 847 Lines: 25 -- Someone (possibly you) has requested that your email address be added to or deleted from the mailing list "magick-developer@imagemagick.org". If you really want this action to be taken, please send the following commands (exactly as shown) back to "Majordomo@imagemagick.org": auth 44b84310 subscribe magick-developer markov@ATComputing.nl If you do not want this action to be taken, simply ignore this message and the request will be disregarded. If your mailer will not allow you to send the entire command as a single line, you may split it using backslashes, like so: auth 44b84310 subscribe magick-developer \ markov@ATComputing.nl If you have any questions about the policy of the list owner, please contact "magick-developer-approval@imagemagick.org". Thanks! Majordomo@imagemagick.org From owner-magick@imagemagick.org Sat Jul 8 13:53 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id NAA02564 for ; Sat, 8 Jul 2000 13:53:33 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id NAA00576 for ; Sat, 8 Jul 2000 13:53:28 +0200 Received: from magick.imagemagick.org(38.220.172.2) by ns.ATComputing.nl via smap (V2.1) id xma000568; Sat, 8 Jul 00 13:53:23 +0200 Received: (from majordomo@localhost) by imagemagick.org (8.9.3/8.9.3) id IAA16219; Sat, 8 Jul 2000 08:21:42 -0400 Date: Sat, 8 Jul 2000 08:21:42 -0400 Message-Id: <200007081221.IAA16219@imagemagick.org> X-Authentication-Warning: magick.imagemagick.org: majordomo set sender to owner-magick@imagemagick.org using -f To: markov@ATComputing.nl From: Majordomo@imagemagick.org Subject: Welcome to magick-developer Reply-To: Majordomo@imagemagick.org Content-Type: text Status: RO Content-Length: 11560 Lines: 274 -- Welcome to the magick-developer mailing list! Please save this message for future reference. Thank you. If you ever want to remove yourself from this mailing list, you can send mail to with the following command in the body of your email message: unsubscribe magick-developer or from another account, besides markov@ATComputing.nl: unsubscribe magick-developer markov@ATComputing.nl If you ever need to get in contact with the owner of the list, (if you have trouble unsubscribing, or have questions about the list itself) send email to . This is the general rule for most mailing lists when you need to contact a human. Here's the general information for the list you've subscribed to, in case you don't already have it: The ImageMagick mailing list (magick@wizards.dupont.com) is a low noise and subject oriented mailing list. The subject is the discussion of ImageMagick software and its use. Although the list is unmoderated, do not post off-topic messages to the list. Off-topic messages will result in the offender being silently removed from the list and prevented from rejoining. Please follow these guidelines when posting or responding to posted messages: 1. postings must be related to ImageMagick, PerlMagick, CineMagick, or WebMagick. Here is an example of what not to post: Does anyone know of a program that converts WWF to JPG on the Mac? Post these to comp.graphics instead. 2. postings should be concise but provide enough detail for readers to discern what the problem is and respond with a solution. Here is an example of what not to post: I downloaded ImageMagick and it doesn't work. What's up? Yes, I have seen these messages. More detail is needed for a proper response. 3. responses should be sent to the author, and not the list, if the response is not of general interest. For example, I'm converting libMagick to a C++ class library. Anyone want to help? Discuss this privately with the author and make a general announcement when you complete your work. 4. Only relevant portions of a message should be quoted. Do not quote the entire message, for example, and give a one line response. 5. Do not post administriva messages such as "How do I unsubscribe from the list?" Instead, see http://www.imagemagick.org/www/magick-list.html for help. 6. Do not post test messages to the list. An archive of all messages posted to the mailing list is available to peruse. See ftp://ftp.wizards.dupont.com/pub/ImageMagick/mailing-list You can also browse or search the archive. See http://marc.theaimsgroup.com/?l=imagemagick&r=1&w=2 * * * ImageMagick is a robust collection of tools and libraries to read, write, and manipulate an image in many image formats (over 68 major formats) including popular formats like TIFF, JPEG, PNG, PDF, Photo CD, and GIF. With ImageMagick you can create images dynamically, making it suitable for Web applications. You can also resize, rotate, sharpen, color reduce, or add special effects to an image and save your completed work in the same or differing image format. Image processing operations are available from the command line, as well as through C, C++, and PERL-based programming interfaces. Here is just a few examples of what ImageMagick can do: Convert an image from one format to another (e.g. TIFF to GIF) Resize, rotate, sharpen, color reduce, or add special effects to an image Create a montage of image tumbnails Create a transparent image suitable for use on the Web Turn a group of images into a GIF animation sequence Create a composite image by combining several separate images Draw shapes or text on an image Decorate an image with a border or frame Describe the format and characteristics of an image You can access ImageMagick functions directly from the command line using the ImageMagick tools convert, mogrify, montage, combine, or identify. Use the display program to interactively manipulate your images or animate an image sequence from a graphical panel. Finally you have access to the various image manipulation methods directly from your favorite application development environment: Perl, C++, C, or Java. These programs and much more are explained by following the links from this page or read the ImageMagick Users Guide. ImageMagick is known to compile and run on virtually any Unix. system and Linux. It also runs under Windows 2000, Windows 95/98, Macintosh, VMS, and OS2. See the install guide for compiling instructions. Pre-compiled binaries are available for some of the more popular operating systems. The offical ImageMagick web page is: http://ww.imagemagick.org/ ImageMagick is available via ftp as ftp://ftp.wizards.dupont.com/pub/ImageMagick Other versions are available as ftp://ftp.wizards.dupont.com/pub/ImageMagick/binaries ftp://ftp.wizards.dupont.com/pub/ImageMagick/mac ftp://ftp.wizards.dupont.com/pub/ImageMagick/nt ftp://ftp.wizards.dupont.com/pub/ImageMagick/vms ftp://ftp.wizards.dupont.com/pub/ImageMagick/linux * * * * * * * * * ImageMagick Tools display Display is a machine architecture independent image and display program. It can display an image on any workstation display running an X server. Display can read and write many of the more popular image formats (e.g. JPEG, TIFF, PNM, Photo CD, etc.). You can perform these functions on the image: o load an image from a file o display the next image o display the former image o display a sequence of images as a slide show o write the image to a file o print the image to a Postscript printer o delete the image file o create a Visual Image Directory o select the image to display by its thumbnail rather than name o undo last image transformation o copy a region of the image o paste a region to the image o restore the image to its original size o refresh the image o half the image size o double the image size o resize the image o crop the image o cut the image o flop image in the horizontal direction o flip image in the vertical direction o rotate the image 90 degrees clockwise o rotate the image 90 degrees counter-clockwise o rotate the image o shear the image o trim the image edges o invert the colors of the image o vary the color brightness o vary the color saturation o vary the image hue o gamma correct the image o sharpen the image contrast o dull the image contrast o perform histogram equalization on the image o perform histogram normalization on the image o negate the image colors o convert the image to grayscale o set the maximum number of unique colors in the image o reduce the speckles within an image o eliminate peak noise from an image o detect edges within the image o emboss an image o oil paint an image o segment the image by color o annotate the image with text o draw on the image o edit an image pixel color o edit the image matte information o composite an image with another o add a border to the image o add an image comment o apply image processing techniques to a region of interest o display information about the image o display information about this program o display image to background of a window o set user preferences o discard all images and exit program o change the level of magnification o display images specified by a World Wide Web (WWW) uniform resource locator (URL) import Import reads an image from any visible window on an X server and outputs it as an image file. You can capture a single window, the entire screen, or any rectangular portion of the screen. You can use display (see display(1)) utility for redisplay, printing, editing, formatting, archiving, image processing, etc. of the captured image. The target window can be specified by id, name, or may be selected by clicking the mouse in the desired window. If you press a button and then drag, a rectangle will form which expands and contracts as the mouse moves. To save the portion of the screen defined by the rectangle, just release the button. The keyboard bell is rung once at the beginning of the screen capture and twice when it completes. animate Animate displays a sequence of images on any workstation display running an X server. Animate first determines the hardware capabilities of the workstation. If the number of unique colors in an image is less than or equal to the number the workstation can support, the image is displayed in an X window. Otherwise the number of colors in the image is first reduced to match the color resolution of the workstation before it is displayed. This means that a continuous-tone 24 bits/pixel image can display on a 8 bit pseudo-color device or monochrome device. In most instances the reduced color image closely resembles the original. Alternatively, a monochrome or pseudo-color image sequence can display on a continuous-tone 24 bits/pixels device. montage Montage creates a composite image by combining several separate images. The images are tiled on the composite image with the name of the image optionally appearing just below the individual tile. convert Convert converts an input file using one image format to an output file with a differing image format. By default, the image format is determined by it's magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify file as - for standard input or output. If file has the extension .Z, the file is decoded with uncompress. mogrify Mogrify transforms an image or a sequence of images. These transforms include image scaling, image rotation, color reduction, and others. The transmogrified image overwrites the original image. identify describes the format and characteristics of one or more image files. It will also report if an image is incomplete or corrupt. The information displayed includes the scene number, the file name, the width and height of the image, whether the image is colormapped or not, the number of colors in the image, the number of bytes in the image, the format of the image (JPEG, PNM, etc.), and finally the number of seconds it took to read and process the image. combine Combine combines images to create new images. From markov@ATComputing.nl Wed Jul 26 13:32:31 2000 Date: Wed, 26 Jul 2000 13:32:31 +0200 From: Mark Overmeer To: Chris Wareham Subject: Re: core dump in simple ImageMagick example Message-ID: <20000726133231.G25170@atcmpg.ATComputing.nl> References: <397C6C6B.989E4BB2@catchword.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <397C6C6B.989E4BB2@catchword.com>; from chris.wareham@catchword.com on Mon, Jul 24, 2000 at 05:18:51PM +0100 Status: RO Content-Length: 2278 Lines: 55 * Chris Wareham (chris.wareham@catchword.com) [000724 18:24]: > *********************************************************************** > This list is being decommissioned. Please join one or more of the new > ImageMagick mailing lists as described at > http://www.imagemagick.org/www/magick-list.html. > *********************************************************************** > > The following snippet of code coew dumps on ReadImage(): > > GetExceptionInfo(&exception); > image_info = CloneImageInfo((ImageInfo *)NULL); > > strcpy(image_info->filename, IMAGEDIR); > strcat(image_info->filename, "/"); > strcat(image_info->filename, filename); > > image = ReadImage(image_info, &exception); > if(image == (Image *)NULL) { > log_error("unable to read image '%s'", filename); > return; > } > > The debugger output is the following: > > Program received signal SIGSEGV, Segmentation fault. > 0x403a0058 in _IO_getc (fp=0x67616d69) at getc.c:39 > 39 getc.c: No such file or directory. > (gdb) bt > #0 0x403a0058 in _IO_getc (fp=0x67616d69) at getc.c:39 > #1 0x4005eb8d in SetImageInfo () from /usr/local/lib/libMagick.so.5 > #2 0x4003c91e in ReadImage () from /usr/local/lib/libMagick.so.5 > #3 0x80491dd in process_image (dbm=0x804bea0, filename=0x806a157 > "00132aac.tif") at tif2png.c:107 > #4 0x8048fd3 in convert_images (args=0xbffff9f4) at tif2png.c:55 > #5 0x8048e6c in main (argc=1, argv=0xbffff9f4) at tif2png.c:21 I have the same problem using PerlMagick 5.2.2 calling ReadImage. However, it is only reproduceable when this statement is included in my huge Perl program with a small IM part, not is a smaller sample as you have. I run Solaris 2.5.1 and all newest image-libs attached. Did you get any useful reply which fixed your problem. Didi you know there is a bug-list: http://www.simplesystems.org/ImageMagick/bugs/ Please let me know. -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Mon Jul 24 18:24 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA27465 for ; Mon, 24 Jul 2000 18:24:10 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA20827 for ; Mon, 24 Jul 2000 18:24:09 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma020823; Mon, 24 Jul 00 18:23:51 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id MAA20883; Mon, 24 Jul 2000 12:23:50 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id MAA01738 for magick-outgoing; Mon, 24 Jul 2000 12:07:32 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <397C6C6B.989E4BB2@catchword.com> Date: Mon, 24 Jul 2000 17:18:51 +0100 From: Chris Wareham X-Mailer: Mozilla 4.73 [en] (X11; U; Linux 2.2.17pre13 i686) X-Accept-Language: en MIME-Version: 1.0 To: magick@wizards.dupont.com Subject: core dump in simple ImageMagick example Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Chris Wareham Content-Type: text/plain; charset=us-ascii Status: RO X-Status: A Content-Length: 1783 Lines: 47 *********************************************************************** This list is being decommissioned. Please join one or more of the new ImageMagick mailing lists as described at http://www.imagemagick.org/www/magick-list.html. *********************************************************************** The following snippet of code coew dumps on ReadImage(): GetExceptionInfo(&exception); image_info = CloneImageInfo((ImageInfo *)NULL); strcpy(image_info->filename, IMAGEDIR); strcat(image_info->filename, "/"); strcat(image_info->filename, filename); image = ReadImage(image_info, &exception); if(image == (Image *)NULL) { log_error("unable to read image '%s'", filename); return; } The debugger output is the following: Program received signal SIGSEGV, Segmentation fault. 0x403a0058 in _IO_getc (fp=0x67616d69) at getc.c:39 39 getc.c: No such file or directory. (gdb) bt #0 0x403a0058 in _IO_getc (fp=0x67616d69) at getc.c:39 #1 0x4005eb8d in SetImageInfo () from /usr/local/lib/libMagick.so.5 #2 0x4003c91e in ReadImage () from /usr/local/lib/libMagick.so.5 #3 0x80491dd in process_image (dbm=0x804bea0, filename=0x806a157 "00132aac.tif") at tif2png.c:107 #4 0x8048fd3 in convert_images (args=0xbffff9f4) at tif2png.c:55 #5 0x8048e6c in main (argc=1, argv=0xbffff9f4) at tif2png.c:21 image_info->filename points to a valid TIFF image, so any ideas as to what gives??? Chris *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Wed Jul 26 13:49:09 2000 Date: Wed, 26 Jul 2000 13:49:09 +0200 From: Mark Overmeer To: Chris Wareham Subject: Re: core dump in simple ImageMagick example Message-ID: <20000726134909.I25170@atcmpg.ATComputing.nl> References: <397C6C6B.989E4BB2@catchword.com> <20000726133231.G25170@atcmpg.ATComputing.nl> <397ECFEF.598EE285@catchword.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <397ECFEF.598EE285@catchword.com>; from chris.wareham@catchword.com on Wed, Jul 26, 2000 at 12:47:59PM +0100 Status: RO Content-Length: 770 Lines: 16 * Chris Wareham (chris.wareham@catchword.com) [000726 13:46]: > > I have the same problem using PerlMagick 5.2.2 calling ReadImage. > This solved my problem with a C based ImageMagick client, but > I don't know whether it is relevant for PerlMagick programs. So: to install IM, I need to have the libs installed. To install the libs, I need IM to be installed for Magic-config.... Ok. Still strange spot to dump core... -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From chris.wareham@catchword.com Wed Jul 26 13:46 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id NAA29434 for ; Wed, 26 Jul 2000 13:46:33 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id NAA24001 for ; Wed, 26 Jul 2000 13:46:32 +0200 Received: from figaro.catchword.co.uk(194.129.29.1) by ns.ATComputing.nl via smap (V2.1) id xma023999; Wed, 26 Jul 00 13:46:13 +0200 Received: from catchword.com (valkyrie.catchword.co.uk [194.129.29.105]) by figaro.catchword.co.uk (8.9.2/8.9.2) with ESMTP id LAA10217 for ; Wed, 26 Jul 2000 11:49:37 GMT Sender: cwareham@figaro.catchword.co.uk Message-ID: <397ECFEF.598EE285@catchword.com> Date: Wed, 26 Jul 2000 12:47:59 +0100 From: Chris Wareham X-Mailer: Mozilla 4.74 [en] (X11; U; Linux 2.2.17pre13 i686) X-Accept-Language: en MIME-Version: 1.0 To: Mark Overmeer Subject: Re: core dump in simple ImageMagick example References: <397C6C6B.989E4BB2@catchword.com> <20000726133231.G25170@atcmpg.ATComputing.nl> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii Status: RO X-Status: A Content-Length: 908 Lines: 26 Mark Overmeer wrote: > > I have the same problem using PerlMagick 5.2.2 calling ReadImage. > However, it is only reproduceable when this statement is included in > my huge Perl program with a small IM part, not is a smaller sample > as you have. > > I run Solaris 2.5.1 and all newest image-libs attached. > > Did you get any useful reply which fixed your problem. > Didi you know there is a bug-list: > http://www.simplesystems.org/ImageMagick/bugs/ > > Please let me know. > I wasn't passing all the required compiler flags when building my program. I had looked at the output of Magick-config, and simply copied the library dependencies into a Makefile. To successfully build, ImageMagick clients also need the correct CFLAGS arguments, etc. This solved my problem with a C based ImageMagick client, but I don't know whether it is relevant for PerlMagick programs. Chris From markov@ATComputing.nl Mon Aug 7 11:38:44 2000 Date: Mon, 7 Aug 2000 11:38:44 +0200 From: Mark Overmeer To: Bryan Burchette Subject: Re: Core Dump on ReadImage Message-ID: <20000807113844.A22119@atcmpg.ATComputing.nl> References: <4.3.1.0.20000801154753.00ae3ed0@mindspring.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <4.3.1.0.20000801154753.00ae3ed0@mindspring.com>; from blburch@mindspring.com on Tue, Aug 01, 2000 at 03:54:42PM -0400 Status: RO Content-Length: 1065 Lines: 24 (I was away for holidays last week, so not able to response earlier) * Bryan Burchette (blburch@mindspring.com) [000801 22:37]: > I am using ImageMagick 5.2.2 and for testing puposes I am using the little > test program on the website under the API section. No matter what I do, the > program cores on ReadImage(). > Current function is main > 33 image=ReadImage(image_info,&exception); I located the problem in the getc() of ReadImage using PerlMagick. I did not succeed in creating a reduced sized example for my program which reproduces the problem, so I'm glad I'm not the only one with this problem. Is there are more clarity on the cause of the crash? Any response from the developers? -- Mark Overmeer %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Tue Aug 1 22:37 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id WAA14913 for ; Tue, 1 Aug 2000 22:37:13 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id WAA04892 for ; Tue, 1 Aug 2000 22:37:12 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma004890; Tue, 1 Aug 00 22:37:04 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id QAA28454; Tue, 1 Aug 2000 16:36:07 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id PAA24962 for magick-outgoing; Tue, 1 Aug 2000 15:46:55 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-Id: <4.3.1.0.20000801154753.00ae3ed0@mindspring.com> X-Sender: blburch@mindspring.com X-Mailer: QUALCOMM Windows Eudora Version 4.3.1 Date: Tue, 01 Aug 2000 15:54:42 -0400 To: magick@wizards.dupont.com From: Bryan Burchette Subject: Core Dump on ReadImage Mime-Version: 1.0 Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bryan Burchette Content-Type: text/plain; charset="us-ascii"; format=flowed Status: RO X-Status: A Content-Length: 2097 Lines: 55 *********************************************************************** This list is being decommissioned. Please join one or more of the new ImageMagick mailing lists as described at http://www.imagemagick.org/www/magick-list.html. *********************************************************************** Hey List, This has me stumped! Maybe I am just missing something really obvious. I am using ImageMagick 5.2.2 and for testing puposes I am using the little test program on the website under the API section. No matter what I do, the program cores on ReadImage(). This is the program I am using to test: http://www.wizards.dupont.com/cristy/www/api.html I have pointed the MagickIncarnate() function to the appropriate directory on my box. Does anybody have any ideas?? What could I be doing wrong. Here is my ouput from DBX (dbx) step stopped in main at line 29 in file "test.c" 29 GetExceptionInfo(&exception); (dbx) where =>[1] main(argc = 1, argv = 0xeffff3c4 "\xef\xff\xf5^H"), line 29 in "test.c" (dbx) step stopped in main at line 30 in file "test.c" 30 image_info=CloneImageInfo((ImageInfo *) NULL); (dbx) step stopped in main at line 31 in file "test.c" 31 (void) strcpy(image_info->filename,"test.jpg"); (dbx) step stopped in main at line 32 in file "test.c" 32 printf("iamge_info->filename is %s\n",image_info->filename); (dbx) step iamge_info->filename is test.jpg stopped in main at line 33 in file "test.c" 33 image=ReadImage(image_info,&exception); (dbx) step signal SEGV (no mapping at the fault address) in getc at 0xef267b24 0xef267b24: getc+0x0024: ld [%i0], %o0 Current function is main 33 image=ReadImage(image_info,&exception); *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@imagemagick.org Wed Oct 4 19:56 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id TAA26427 for ; Wed, 4 Oct 2000 19:56:00 +0200 (MET DST) Received: from imagemagick.org (magick.imagemagick.org [38.220.172.2]) by ns.ATComputing.nl (Postfix) with ESMTP id 84B2DED32 for ; Wed, 4 Oct 2000 19:55:58 +0200 (CEST) Received: (from majordomo@localhost) by imagemagick.org (8.11.0.Beta3/8.9.3) id e94IMj420302 for magick-developer-outgoing; Wed, 4 Oct 2000 14:22:45 -0400 X-Authentication-Warning: magick.imagemagick.org: majordomo set sender to owner-magick@imagemagick.org using -f From: cristy@mystic.es.dupont.com Date: Wed, 4 Oct 2000 14:22:35 -0400 (EDT) Message-Id: <200010041822.e94IMZr19712@mystic.es.dupont.com> To: magick-developer@imagemagick.org Subject: Font metrics Sender: owner-magick@imagemagick.org Precedence: bulk Reply-To: cristy@mystic.es.dupont.com Content-Type: text Status: RO Content-Length: 1652 Lines: 32 The problem with general font metrics in ImageMagick is that there are four schemes for obtaining fonts FreeType 1, FreeType 2, Postscript/Ghostscript fonts, and X11 fonts. Freetype returns plenty of information associated with font metrics. I know of no way to get the font metrics from Ghostscript and X11 fonts returns metrics but they do not exactly match the information returned by Freetype. Layered on top of that is the fonts can be manipulated with an affine matrix with varying results for the different font schemes. Currently I write fonts to an image that bounds the font and turn all pixels not covered by the font lettering to transparent then composite this on top of the image being annotated. The only metrics available now are the maximum font height and string width. In Perl, for example, use $font->Read('label:This is a test'); ($width,$height)=$font->Get('width','height'); I can certainly include other metric information as well but how to do this consistently for all font schemes? Perhaps I could retain the font metrics for Freetype fonts only? Or can you think of a few specific font metrics that would be useful to you that we can get for FreeType, X11, and Postscript fonts? What is a minimal set of font metrics you need to make annotating more useable? *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@imagemagick.org Include the following command in the body of your message: unsubscribe magick-developer *********************************************************************** Mail-Box-4.01/t/folders/mbox.src0000644000175000001440000041010215117245043017143 0ustar00markovusers00000000000000From magick-owner@unca-don.wizards.dupont.com Wed Feb 9 22:02 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id WAA23694 for ; Wed, 9 Feb 2000 22:02:24 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id WAA01128 for ; Wed, 9 Feb 2000 22:02:24 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma001126; Wed, 9 Feb 00 22:02:01 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id QAA21962; Wed, 9 Feb 2000 16:00:43 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id PAA29389 for magick-outgoing; Wed, 9 Feb 2000 15:38:42 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Date: Wed, 9 Feb 2000 15:44:05 -0500 From: William Park To: Mark Sappol Cc: "magick@wizards.dupont.com" Subject: Re: File Conversion From HTML to PS and TIFF Message-ID: <20000209154405.C265@better.net> Mail-Followup-To: Mark Sappol , "magick@wizards.dupont.com" References: <38A11D0E.A2064062@ipicorp.com> Mime-Version: 1.0 X-Mailer: Mutt 1.0pre3i In-Reply-To: <38A11D0E.A2064062@ipicorp.com> Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: William Park Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 1280 Lines: 33 On Wed, Feb 09, 2000 at 07:53:50AM +0000, Mark Sappol wrote: > I am new to this list so please forgive me if I am asking something that > has already been answered previously. I did check the archives but too > no avail. > > I need to create a postscript file from an HTML document. I have no > problem here with the text but I do have a logo (gif file) on this > document which does not get converted. How can I go about converting > the HTML documents I generate, along with any linked GIF images, to > PostScript, as well as at other times, to TIFF? > > I would appreciate any feedback and help on this request. > > Thanks in advance, > Mark You can convert .html to .ps using Netscape. You can do this manually by clicking mouse, or through '-remote' command line option. For example, netscape -remote "openURL(http://sexybabes.for.you/)" \ -remote "saveAs(xxx.ps, Postscript)" You can then convert .ps to .tiff like FAX program does. William *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed Feb 9 23:15 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id XAA24500 for ; Wed, 9 Feb 2000 23:15:56 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id XAA01235 for ; Wed, 9 Feb 2000 23:15:55 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma001233; Wed, 9 Feb 00 23:15:42 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id RAA04724; Wed, 9 Feb 2000 17:13:49 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id QAA29779 for magick-outgoing; Wed, 9 Feb 2000 16:56:19 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-Id: <200002092200.RAA19561@mailfw3.ford.com> Date: Wed, 09 Feb 2000 17:00:14 -0500 From: "Lincoln, D. E. (Daniel)" Organization: R&VT VCP&M X-Mailer: Mozilla 4.7C-CCK-MCD cf47 [en] (X11; I; SunOS 5.6 sun4u) X-Accept-Language: en, en-GB, de, fr, ja, ko, zh Mime-Version: 1.0 To: Jeffrey Krzysztow Cc: William Park , Mark Sappol , "magick@wizards.dupont.com" Subject: Re: File Conversion From HTML to PS and TIFF References: <38A11D0E.A2064062@ipicorp.com> <20000209154405.C265@better.net> <38A1DBE7.9D3718C9@pvii.com> Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: "Lincoln, D. E. (Daniel)" Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 2109 Lines: 60 If I may interject... It can be found at: http://developer.netscape.com/docs/manuals/deploymt/options.htm Jeffrey Krzysztow wrote: > > William, > > Where did you find information about -remote command line option for Netscape? > > William Park wrote: > > > On Wed, Feb 09, 2000 at 07:53:50AM +0000, Mark Sappol wrote: > > > I am new to this list so please forgive me if I am asking something that > > > has already been answered previously. I did check the archives but too > > > no avail. > > > > > > I need to create a postscript file from an HTML document. I have no > > > problem here with the text but I do have a logo (gif file) on this > > > document which does not get converted. How can I go about converting > > > the HTML documents I generate, along with any linked GIF images, to > > > PostScript, as well as at other times, to TIFF? > > > > > > I would appreciate any feedback and help on this request. > > > > > > Thanks in advance, > > > Mark > > > > You can convert .html to .ps using Netscape. You can do this manually > > by clicking mouse, or through '-remote' command line option. For > > example, > > netscape -remote "openURL(http://sexybabes.for.you/)" \ > > -remote "saveAs(xxx.ps, Postscript)" > > > > You can then convert .ps to .tiff like FAX program does. > > > > William > > > > *********************************************************************** > > To remove yourself from this mailing list, send mail to: > > majordomo@wizards.dupont.com > > > > Include the following command in the body of your message: > > unsubscribe magick > > *********************************************************************** -- Regards, Daniel E. Lincoln - Digital Buck Mechanic Ford Motor Company - R&VT Vehicle CAD Process & Methods *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed Feb 9 23:15 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id XAA24495 for ; Wed, 9 Feb 2000 23:15:26 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id XAA01230 for ; Wed, 9 Feb 2000 23:15:25 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma001228; Wed, 9 Feb 00 23:15:21 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id RAA04756; Wed, 9 Feb 2000 17:13:55 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id QAA29764 for magick-outgoing; Wed, 9 Feb 2000 16:55:37 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <38A1E3B0.F148D74A@websidestory.com> Date: Wed, 09 Feb 2000 14:01:20 -0800 From: Steve Dotson X-Mailer: Mozilla 4.7 [en] (X11; U; Linux 2.2.5-15 i686) X-Accept-Language: en MIME-Version: 1.0 To: Jeffrey Krzysztow CC: William Park , Mark Sappol , "magick@wizards.dupont.com" Subject: Re: File Conversion From HTML to PS and TIFF References: <38A11D0E.A2064062@ipicorp.com> <20000209154405.C265@better.net> <38A1DBE7.9D3718C9@pvii.com> Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Steve Dotson Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 2129 Lines: 63 http://home.netscape.com/newsref/std/x-remote.html Jeffrey Krzysztow wrote: > > William, > > Where did you find information about -remote command line option for Netscape? > > William Park wrote: > > > On Wed, Feb 09, 2000 at 07:53:50AM +0000, Mark Sappol wrote: > > > I am new to this list so please forgive me if I am asking something that > > > has already been answered previously. I did check the archives but too > > > no avail. > > > > > > I need to create a postscript file from an HTML document. I have no > > > problem here with the text but I do have a logo (gif file) on this > > > document which does not get converted. How can I go about converting > > > the HTML documents I generate, along with any linked GIF images, to > > > PostScript, as well as at other times, to TIFF? > > > > > > I would appreciate any feedback and help on this request. > > > > > > Thanks in advance, > > > Mark > > > > You can convert .html to .ps using Netscape. You can do this manually > > by clicking mouse, or through '-remote' command line option. For > > example, > > netscape -remote "openURL(http://sexybabes.for.you/)" \ > > -remote "saveAs(xxx.ps, Postscript)" > > > > You can then convert .ps to .tiff like FAX program does. > > > > William > > > > *********************************************************************** > > To remove yourself from this mailing list, send mail to: > > majordomo@wizards.dupont.com > > > > Include the following command in the body of your message: > > unsubscribe magick > > *********************************************************************** -- Steve Dotson Software Engineer WebSideStory, Inc. 10182 Telesis Court, Sixth Floor San Diego, California 92121 P: 858.546.0040 ext. 417 F: 858.546.0480 E: steve@websidestory.com *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed Feb 23 17:28 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA20894 for ; Wed, 23 Feb 2000 17:28:05 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA21883 for ; Wed, 23 Feb 2000 17:28:04 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma021881; Wed, 23 Feb 00 17:27:46 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id LAA28560; Wed, 23 Feb 2000 11:25:57 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id KAA09345 for magick-outgoing; Wed, 23 Feb 2000 10:53:09 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <177E035AF8BDD311858B00A0C9D8E324886A3B@EMAILSRVR_KPR> From: Steve Sapovits To: magick@wizards.dupont.com Subject: Transparency question Date: Wed, 23 Feb 2000 10:58:16 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Steve Sapovits Content-Type: text/plain Status: RO Content-Length: 1447 Lines: 42 I'm trying to do the following: 1) Take a JPEG image and size it down to a particular size. 2) Overlay that JPEG on top of an GIF image to form a combined result. This works fine for the most part: I use mogrify to resize, followed by combine to overlay. Now I'm presented with GIF images (the ones the JPEG is put on top of) that have colors or other background attributes we want to 'show through' the overlay where there is no image. Even without any transparency options this seems to ALMOST work. The problem is that there's a small area around each image of 'white' that always shows up. Trying transparency or the 'matte' option of '-draw' seems to have no effect. Any ideas? I'm an engineer -- not an image expert. The images in question are handed to me. I can change them if necessary and if it can be done via the ImageMagick tool. The volume we generate makes manual changes to each image out of the question. ---- Steve Sapovits Global Sports Interactive Work Email: sapovitss@globalsportsinc.com Home Email: steves@delanet.com Work Phone: 610-491-7087 Cell: 610-574-7706 Pager: 877-239-4003 *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed Feb 23 20:13 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id UAA24120 for ; Wed, 23 Feb 2000 20:13:38 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id UAA22110 for ; Wed, 23 Feb 2000 20:13:38 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma022108; Wed, 23 Feb 00 20:13:37 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id OAA00687; Wed, 23 Feb 2000 14:11:56 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id NAA10192 for magick-outgoing; Wed, 23 Feb 2000 13:26:44 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <177E035AF8BDD311858B00A0C9D8E324886AB2@EMAILSRVR_KPR> From: Steve Sapovits To: Steve Sapovits , magick@wizards.dupont.com Subject: RE: Transparency question Date: Wed, 23 Feb 2000 13:31:41 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Steve Sapovits Content-Type: text/plain Status: RO Content-Length: 2483 Lines: 73 Someone on this list and my image folks here seem to confirm that the problem here is with 'fringe' pixels that were not trimmed back as neatly as possible. Any suggestions for automating this? This whole thing needs to be batched. I played with the transparency and fuzz options with no real difference noted. Trying crop 0x0 makes some of the fringe whitespace areas neater, but it doesn't get rid of them. Any suggestions? > -----Original Message----- > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > Sent: Wednesday, February 23, 2000 10:58 AM > To: magick@wizards.dupont.com > Subject: Transparency question > > > I'm trying to do the following: > > 1) Take a JPEG image and size it down to a particular size. > 2) Overlay that JPEG on top of an GIF image to form a combined result. > > This works fine for the most part: I use mogrify to resize, followed by > combine to overlay. > > Now I'm presented with GIF images (the ones the JPEG is put on top of) > that have colors or other background attributes we want to 'show through' > the overlay where there is no image. > > Even without any transparency options this seems to ALMOST work. The > problem is that there's a small area around each image of 'white' that > always > shows up. Trying transparency or the 'matte' option of '-draw' seems to > have > no effect. > > Any ideas? I'm an engineer -- not an image expert. The images in > question > are handed to me. I can change them if necessary and if it can be done > via > the ImageMagick tool. The volume we generate makes manual changes to > each image out of the question. > > ---- > Steve Sapovits > Global Sports Interactive > Work Email: sapovitss@globalsportsinc.com > Home Email: steves@delanet.com > Work Phone: 610-491-7087 > Cell: 610-574-7706 > Pager: 877-239-4003 > > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Thu Feb 24 17:27 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA19964 for ; Thu, 24 Feb 2000 17:27:35 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA23400 for ; Thu, 24 Feb 2000 17:27:34 +0100 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma023398; Thu, 24 Feb 00 17:27:10 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id LAA14646; Thu, 24 Feb 2000 11:25:37 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA15770 for magick-outgoing; Thu, 24 Feb 2000 11:04:56 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <8100014B48DAD111AA4100805F9F3FC903A0E5B2@host60.corbis.com> From: Bill Radcliffe To: "'Steve Sapovits'" , "'magick@wizards.dupont.com'" Subject: RE: Transparency question Date: Thu, 24 Feb 2000 08:06:44 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bill Radcliffe Content-Type: text/plain Status: RO Content-Length: 3362 Lines: 93 It would help me if you could send some small samples of exactly the effect you are trying to achieve. I'm sure IM can do whatever you want but the road to get there may not be at all obvious. > -----Original Message----- > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > Sent: Wednesday, February 23, 2000 10:32 AM > To: Steve Sapovits; magick@wizards.dupont.com > Subject: RE: Transparency question > > > Someone on this list and my image folks here seem to confirm that the > problem > here is with 'fringe' pixels that were not trimmed back as neatly as > possible. Any > suggestions for automating this? This whole thing needs to be batched. I > played > with the transparency and fuzz options with no real difference noted. > Trying > crop 0x0 makes some of the fringe whitespace areas neater, but it doesn't > get rid > of them. > > Any suggestions? > > > -----Original Message----- > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > Sent: Wednesday, February 23, 2000 10:58 AM > > To: magick@wizards.dupont.com > > Subject: Transparency question > > > > > > I'm trying to do the following: > > > > 1) Take a JPEG image and size it down to a particular size. > > 2) Overlay that JPEG on top of an GIF image to form a combined result. > > > > This works fine for the most part: I use mogrify to resize, followed by > > > combine to overlay. > > > > Now I'm presented with GIF images (the ones the JPEG is put on top of) > > that have colors or other background attributes we want to 'show > through' > > the overlay where there is no image. > > > > Even without any transparency options this seems to ALMOST work. The > > problem is that there's a small area around each image of 'white' that > > always > > shows up. Trying transparency or the 'matte' option of '-draw' seems to > > have > > no effect. > > > > Any ideas? I'm an engineer -- not an image expert. The images in > > question > > are handed to me. I can change them if necessary and if it can be done > > via > > the ImageMagick tool. The volume we generate makes manual changes to > > each image out of the question. > > > > ---- > > Steve Sapovits > > Global Sports Interactive > > Work Email: sapovitss@globalsportsinc.com > > Home Email: steves@delanet.com > > Work Phone: 610-491-7087 > > Cell: 610-574-7706 > > Pager: 877-239-4003 > > > > > > *********************************************************************** > > To remove yourself from this mailing list, send mail to: > > majordomo@wizards.dupont.com > > > > Include the following command in the body of your message: > > unsubscribe magick > > *********************************************************************** > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Thu Feb 24 18:17 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA21506 for ; Thu, 24 Feb 2000 18:17:36 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA23500 for ; Thu, 24 Feb 2000 18:17:35 +0100 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma023498; Thu, 24 Feb 00 18:17:21 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id MAA27594; Thu, 24 Feb 2000 12:14:53 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA16076 for magick-outgoing; Thu, 24 Feb 2000 11:52:40 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <8100014B48DAD111AA4100805F9F3FC903A0E5B9@host60.corbis.com> From: Bill Radcliffe To: "'Steve Sapovits'" Cc: "'magick@wizards.dupont.com'" Subject: RE: Transparency question Date: Thu, 24 Feb 2000 08:54:32 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bill Radcliffe Content-Type: text/plain; charset="ISO-8859-1" Status: RO Content-Length: 5643 Lines: 161 Your problem is that you are trying to use transparency, but you really want to use alpha channel blending. I'll show you how if you can send me another copy of MCS_C_11452.gif before it is flattened out into a GIF file. You need to have an input file were the "image" pixels are in the RGB parts of the file, and the "cutout" is in the "alpha" channel. The alpha channel contains a value for each and every pixel that defines the opacity of the pixel. Two file formats that support this are Photoshop and TIFF. > -----Original Message----- > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > Sent: Thursday, February 24, 2000 8:34 AM > To: Bill Radcliffe > Subject: RE: Transparency question > > > Good idea, of course. > > This is run from a bigger program but I distilled it down to a simpler > set of commands to reproduce. I run these two commands: > > mogrify -geometry 120x120! 'MCS_C_11452.gif' > combine 'MCS_C_120x150.gif' -gravity south 'MCS_C_11452.gif' -compose over > 'result.gif' > > I get this output: > > mogrify: no delegates configuration file found (delegates.mgk). > mogrify: no encode delegate for this image format (Y). > combine: no delegates configuration file found (delegates.mgk). > > I've gotten these 'delegates' messages before with no ill effects. > > Here are the files I'm using. The 'result.gif' has the whitespace I > mentioned. Any help > would be greatly appreciated. I'll write a perl program for you in > exchange > or something. 8-) > > <> <> <> > > > > -----Original Message----- > > From: Bill Radcliffe [SMTP:BillR@corbis.com] > > Sent: Thursday, February 24, 2000 11:07 AM > > To: 'Steve Sapovits'; 'magick@wizards.dupont.com' > > Subject: RE: Transparency question > > > > It would help me if you could send some small samples of exactly the > > effect > > you are trying to achieve. I'm sure IM can do whatever you want but the > > road > > to get there may not be at all obvious. > > > > > -----Original Message----- > > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > > Sent: Wednesday, February 23, 2000 10:32 AM > > > To: Steve Sapovits; magick@wizards.dupont.com > > > Subject: RE: Transparency question > > > > > > > > > Someone on this list and my image folks here seem to confirm that the > > > problem > > > here is with 'fringe' pixels that were not trimmed back as neatly as > > > possible. Any > > > suggestions for automating this? This whole thing needs to be > batched. > > I > > > played > > > with the transparency and fuzz options with no real difference noted. > > > Trying > > > crop 0x0 makes some of the fringe whitespace areas neater, but it > > doesn't > > > get rid > > > of them. > > > > > > Any suggestions? > > > > > > > -----Original Message----- > > > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > > > Sent: Wednesday, February 23, 2000 10:58 AM > > > > To: magick@wizards.dupont.com > > > > Subject: Transparency question > > > > > > > > > > > > I'm trying to do the following: > > > > > > > > 1) Take a JPEG image and size it down to a particular size. > > > > 2) Overlay that JPEG on top of an GIF image to form a combined > > result. > > > > > > > > This works fine for the most part: I use mogrify to resize, > followed > > by > > > > > > > combine to overlay. > > > > > > > > Now I'm presented with GIF images (the ones the JPEG is put on top > of) > > > > that have colors or other background attributes we want to 'show > > > through' > > > > the overlay where there is no image. > > > > > > > > Even without any transparency options this seems to ALMOST work. > The > > > > problem is that there's a small area around each image of 'white' > that > > > > always > > > > shows up. Trying transparency or the 'matte' option of '-draw' > seems > > to > > > > have > > > > no effect. > > > > > > > > Any ideas? I'm an engineer -- not an image expert. The images in > > > > question > > > > are handed to me. I can change them if necessary and if it can be > > done > > > > via > > > > the ImageMagick tool. The volume we generate makes manual changes > to > > > > each image out of the question. > > > > > > > > ---- > > > > Steve Sapovits > > > > Global Sports Interactive > > > > Work Email: sapovitss@globalsportsinc.com > > > > Home Email: steves@delanet.com > > > > Work Phone: 610-491-7087 > > > > Cell: 610-574-7706 > > > > Pager: 877-239-4003 > > > > > > > > > > > > > > *********************************************************************** > > > > To remove yourself from this mailing list, send mail to: > > > > majordomo@wizards.dupont.com > > > > > > > > Include the following command in the body of your message: > > > > unsubscribe magick > > > > > > *********************************************************************** > > > > > > > *********************************************************************** > > > To remove yourself from this mailing list, send mail to: > > > majordomo@wizards.dupont.com > > > > > > Include the following command in the body of your message: > > > unsubscribe magick > > > > *********************************************************************** << > File: MCS_C_11452.gif >> << File: MCS_C_120x150.gif >> << File: > result.gif >> *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Thu Feb 24 20:21 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id UAA23276 for ; Thu, 24 Feb 2000 20:21:08 +0100 (MET) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id UAA23679 for ; Thu, 24 Feb 2000 20:21:08 +0100 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma023676; Thu, 24 Feb 00 20:20:57 +0100 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id OAA10625; Thu, 24 Feb 2000 14:17:28 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id NAA16562 for magick-outgoing; Thu, 24 Feb 2000 13:40:21 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <8100014B48DAD111AA4100805F9F3FC903A0E5BF@host60.corbis.com> From: Bill Radcliffe To: "'Steve Sapovits'" Cc: "'magick@wizards.dupont.com'" Subject: RE: Transparency question Date: Thu, 24 Feb 2000 10:42:23 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bill Radcliffe Content-Type: text/plain; charset="ISO-8859-1" Status: RO Content-Length: 7382 Lines: 206 OK - here is a "possible" solution. This sequence relies on the fact that the input image was originally composited on a white background. It takes the image and generates a "fake" alpha channel (mask) and uses this during the compositing operation. It looks pretty good, but has the disadvantage that the background will tend to influence the colors in the final image more then you would want. : first convert to an RGB format with no more transparency or mask channel convert -compression none MCS_C_11452.gif MCS_C_11452_rgb.bmp : now make a fake alpha channel using a grayscale version of the image (inverted) convert -compression none -colorspace gray -negate MCS_C_11452.gif MCS_C_11452_a.bmp : combine the original image along with the fake alpha channel onto the background combine -gravity south -compose over MCS_C_120x150.gif MCS_C_11452.gif MCS_C_11452_a.bmp result.gif > -----Original Message----- > From: Bill Radcliffe > Sent: Thursday, February 24, 2000 8:55 AM > To: 'Steve Sapovits' > Cc: 'magick@wizards.dupont.com' > Subject: RE: Transparency question > > Your problem is that you are trying to use transparency, but you really > want > to use alpha channel blending. I'll show you how if you can send me > another > copy of MCS_C_11452.gif before it is flattened out into a GIF file. You > need > to have an input file were the "image" pixels are in the RGB parts of the > file, and the "cutout" is in the "alpha" channel. The alpha channel > contains > a value for each and every pixel that defines the opacity of the pixel. > Two > file formats that support this are Photoshop and TIFF. > > > -----Original Message----- > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > Sent: Thursday, February 24, 2000 8:34 AM > > To: Bill Radcliffe > > Subject: RE: Transparency question > > > > > > Good idea, of course. > > > > This is run from a bigger program but I distilled it down to a simpler > > set of commands to reproduce. I run these two commands: > > > > mogrify -geometry 120x120! 'MCS_C_11452.gif' > > combine 'MCS_C_120x150.gif' -gravity south 'MCS_C_11452.gif' -compose > over > > 'result.gif' > > > > I get this output: > > > > mogrify: no delegates configuration file found (delegates.mgk). > > mogrify: no encode delegate for this image format (Y). > > combine: no delegates configuration file found (delegates.mgk). > > > > I've gotten these 'delegates' messages before with no ill effects. > > > > Here are the files I'm using. The 'result.gif' has the whitespace I > > mentioned. Any help > > would be greatly appreciated. I'll write a perl program for you in > > exchange > > or something. 8-) > > > > <> <> <> > > > > > > > -----Original Message----- > > > From: Bill Radcliffe [SMTP:BillR@corbis.com] > > > Sent: Thursday, February 24, 2000 11:07 AM > > > To: 'Steve Sapovits'; 'magick@wizards.dupont.com' > > > Subject: RE: Transparency question > > > > > > It would help me if you could send some small samples of exactly the > > > effect > > > you are trying to achieve. I'm sure IM can do whatever you want but > the > > > road > > > to get there may not be at all obvious. > > > > > > > -----Original Message----- > > > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > > > Sent: Wednesday, February 23, 2000 10:32 AM > > > > To: Steve Sapovits; magick@wizards.dupont.com > > > > Subject: RE: Transparency question > > > > > > > > > > > > Someone on this list and my image folks here seem to confirm that > the > > > > problem > > > > here is with 'fringe' pixels that were not trimmed back as neatly as > > > > possible. Any > > > > suggestions for automating this? This whole thing needs to be > > batched. > > > I > > > > played > > > > with the transparency and fuzz options with no real difference > noted. > > > > Trying > > > > crop 0x0 makes some of the fringe whitespace areas neater, but it > > > doesn't > > > > get rid > > > > of them. > > > > > > > > Any suggestions? > > > > > > > > > -----Original Message----- > > > > > From: Steve Sapovits [SMTP:SapovitsS@globalsportsinc.com] > > > > > Sent: Wednesday, February 23, 2000 10:58 AM > > > > > To: magick@wizards.dupont.com > > > > > Subject: Transparency question > > > > > > > > > > > > > > > I'm trying to do the following: > > > > > > > > > > 1) Take a JPEG image and size it down to a particular size. > > > > > 2) Overlay that JPEG on top of an GIF image to form a combined > > > result. > > > > > > > > > > This works fine for the most part: I use mogrify to resize, > > followed > > > by > > > > > > > > > combine to overlay. > > > > > > > > > > Now I'm presented with GIF images (the ones the JPEG is put on top > > of) > > > > > that have colors or other background attributes we want to 'show > > > > through' > > > > > the overlay where there is no image. > > > > > > > > > > Even without any transparency options this seems to ALMOST work. > > The > > > > > problem is that there's a small area around each image of 'white' > > that > > > > > always > > > > > shows up. Trying transparency or the 'matte' option of '-draw' > > seems > > > to > > > > > have > > > > > no effect. > > > > > > > > > > Any ideas? I'm an engineer -- not an image expert. The images in > > > > > question > > > > > are handed to me. I can change them if necessary and if it can be > > > done > > > > > via > > > > > the ImageMagick tool. The volume we generate makes manual changes > > to > > > > > each image out of the question. > > > > > > > > > > ---- > > > > > Steve Sapovits > > > > > Global Sports Interactive > > > > > Work Email: sapovitss@globalsportsinc.com > > > > > Home Email: steves@delanet.com > > > > > Work Phone: 610-491-7087 > > > > > Cell: 610-574-7706 > > > > > Pager: 877-239-4003 > > > > > > > > > > > > > > > > > > > *********************************************************************** > > > > > To remove yourself from this mailing list, send mail to: > > > > > majordomo@wizards.dupont.com > > > > > > > > > > Include the following command in the body of your message: > > > > > unsubscribe magick > > > > > > > > > *********************************************************************** > > > > > > > > > > *********************************************************************** > > > > To remove yourself from this mailing list, send mail to: > > > > majordomo@wizards.dupont.com > > > > > > > > Include the following command in the body of your message: > > > > unsubscribe magick > > > > > > *********************************************************************** > << > > File: MCS_C_11452.gif >> << File: MCS_C_120x150.gif >> << File: > > result.gif >> > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov Sun Aug 8 10:04:17 1999 Subject: Resize with Transparency To: magick@wizards.dupont.com Date: Sun, 8 Aug 1999 10:04:17 +0200 (MET DST) Reply-To: markov@ATComputing.nl (Mark Overmeer) X-Mailer: ELM [version 2.4 PL21] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Content-Length: 1376 Lines: 37 Hi, Maybe someone knows a solution, maybe for enhancement: I have an image (say black on white), where white is set to be transparent. I can display the image on any background, without seeing white. Now I resize the image with anti-aliasing. For that, we have to intermediate pixels, which also requires interpolating the black pixels and background pixels. But: I my case, the background has a different (but known) color every time i.e. need to anti-alias the same image to different backgrounds. I would like to write: my $image->Read('original.gif'); $image->Set(background => 'blue'); $image->Scale('50%x50%'); $image->Write('small.gif'); However, ImageMagick (ImageMagick 4.2.7, PerlMagick 4.27 on Linux) takes as value for a transparent pixel not the value of `background', but the color used to define a transparent color: in this case `white'. My image reduced as above shows white pixels on my blue background. Is my expectation wrong? Does anyone know a work-around? -- Thanks, Mark Overmeer %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Thu Mar 30 19:09 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id TAA14579 for ; Thu, 30 Mar 2000 19:09:10 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id TAA31447 for ; Thu, 30 Mar 2000 19:09:10 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma031440; Thu, 30 Mar 00 19:08:51 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id MAA10121; Thu, 30 Mar 2000 12:04:52 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA03360 for magick-outgoing; Thu, 30 Mar 2000 11:44:20 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <8100014B48DAD111AA4100805F9F3FC903A0E75D@host60.corbis.com> From: Bill Radcliffe To: "'Ivo'" , magick@wizards.dupont.com, tiff@olympiakos.com Subject: RE: jpeg2000 question Date: Thu, 30 Mar 2000 08:46:50 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bill Radcliffe Content-Type: text/plain Status: RO Content-Length: 2759 Lines: 66 I worked on the definition of the JP2 file format. The situation with JPEG2000 is not at all like JPEG. You should know is that JP2 is a very simple wrapper around the formal JPEG2000 "codestream". It was based on the Quicktime idea of "atoms". This simple idea is that you have a tag and a length followed by the "stuff". You know what the "stuff" is based on the tag type. You can also nest these atoms to build more complex structures. JP2 is a very simple set of these atoms, most of which are optional. You could write a program to implement this in about 15 minutes. The "hard" part of JP2 is the "codestream". This is the encoded JPEG2000 data. Good luck on that. We don't have a freely available reference implementation at this point because nobody has signed up to do it. There was an effort underway by the same group that did the JPEG-LS implementation. This was given to the public domain.. http://spmg.ece.ubc.ca/research/jpeg/jpeg_ls/jpegls.html They actually had an implementation of JPEG2000 on their website but pulled it off: http://www.ece.ubc.ca/~mdadams/jasper/ Apparently, they decided to sell out and try to charge for it instead of providing it to the public domain. We all know how well that is going to work. When are people going to learn that you can't make money selling compression software? It's not a business - its just an enabler. My opinion is that without a "Tom Lane" type signing up to make a free implementation available, JPEG2000 is doomed. You just don't get real interoperability from a paper spec. We know this. The good news is that the Digital Imaging Group (DIG) has a project underway to do this. The bad news is that it has not yet started. And so we wait :-) > -----Original Message----- > From: Ivo [SMTP:ivo.penzar@infolink-software.com] > Sent: Thursday, March 30, 2000 1:37 AM > To: magick@wizards.dupont.com; tiff@olympiakos.com > Subject: jpeg2000 question > > Does anybody know of some repository of jp2 (jpeg2000, to be approved by > ISO/ITU-T by the end of this year) and/or a tool to write (some sort of) > those images. > > Thanks, > Ivo > > > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Fri Mar 31 17:01:17 2000 Date: Fri, 31 Mar 2000 17:01:17 +0200 From: Mark Overmeer To: Carl Knoos Cc: magick@wizards.dupont.com Subject: Re: Problem resizing images through perl script Message-ID: <20000331170117.B2095@atcmpg.ATComputing.nl> References: <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23.interaccess.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: ; from cknoos@atg.com on Thu, Mar 30, 2000 at 06:27:54PM -0500 Status: RO Content-Length: 820 Lines: 23 * Carl Knoos (cknoos@atg.com) [000331 01:39]: > if I run mogrify -geometry 95x95 whatever.jpg > I get exactly what I want, except when I try > to do it from Perl... > # resize it. > $result="$mogrifypath/mogrify -geometry 96x96 > $GalleryPath/tn_$ShortFilename"; I assume you try to execute this code: use back-tics: $result=`$mogrifypath/mogrify -geometry 96x96 $GalleryPath/tn_$ShortFilename`; or better qx(...) Is it just a slip of pen here, or just usual programmers-blindness? -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Fri Mar 31 01:39 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id BAA16135 for ; Fri, 31 Mar 2000 01:39:18 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id BAA31743 for ; Fri, 31 Mar 2000 01:39:18 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma031741; Fri, 31 Mar 00 01:39:12 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id SAA08310; Thu, 30 Mar 2000 18:37:29 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id SAA05154 for magick-outgoing; Thu, 30 Mar 2000 18:24:04 -0500 (EST) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f From: "Carl Knoos" To: Subject: Problem resizing images through perl script Date: Thu, 30 Mar 2000 18:27:54 -0500 Message-ID: MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) In-Reply-To: <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23.interaccess.com> Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: "Carl Knoos" Content-Type: text/plain; charset="iso-8859-1" Status: RO X-Status: A Content-Length: 1270 Lines: 47 I know this probably doesn't belong here, but I don't who else to ask :) Basically, I have imagemagick installed and it works like a charm! if I run mogrify -geometry 95x95 whatever.jpg I get exactly what I want, except when I try to do it from Perl... If I in a perl script say: sub GenerateThumb { $fsize = -s "$GalleryPath/$ShortFilename"; if ($thumbmethod == 1) { # copy image. open(IMGFILE, "$GalleryPath/$ShortFilename"); open(TNFILE, ">$GalleryPath/tn_$ShortFilename"); binmode(IMGFILE); binmode(TNFILE); read(IMGFILE, $buffer, $fsize); print TNFILE $buffer; close(TNFILE); close(IMGFILE); chmod (0777, "$GalleryPath/tn_$ShortFilename"); # resize it. $result="$mogrifypath/mogrify -geometry 96x96 $GalleryPath/tn_$ShortFilename"; } } It all works great until it comes to the resizing, it just seem to skip the last step. the variable $mogrifypath is set correctly to /usr/bin Does anyone what I'm doing wrong? /Carl *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Fri Mar 31 02:25 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id CAA16260 for ; Fri, 31 Mar 2000 02:25:19 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id CAA31781 for ; Fri, 31 Mar 2000 02:25:19 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma031779; Fri, 31 Mar 00 02:25:12 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id TAA21824; Thu, 30 Mar 2000 19:23:29 -0500 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id TAA05326 for magick-outgoing; Thu, 30 Mar 2000 19:16:20 -0500 (EST) <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23. interaccess.com> X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Mime-Version: 1.0 X-Sender: leonardr@mail1.netreach.net Message-Id: In-Reply-To: <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23.interaccess.com> References: <10F4E7B8292FD311B34400A0C978B70532A61B@a254.117.208.207.ded23.interaccess.com> Date: Thu, 30 Mar 2000 19:15:48 -0500 To: Joseph Korabelnikov magick@wizards.dupont.com From: Leonard Rosenthol Subject: Re: Convert HTM, HTML files to the .jpg format X-MIME-Autoconverted: from quoted-printable to 8bit by unca-don.wizards.dupont.com id TAA05323 Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Leonard Rosenthol X-MIME-Autoconverted: from 8bit to quoted-printable by mustang.oldcity.dca.net id TAA21824 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by atcmpg.ATComputing.nl id CAA16260 Content-Type: text/plain; charset="iso-8859-1" ; format="flowed" Status: RO Content-Length: 1198 Lines: 33 At 4:12 PM -0600 3/30/00, Joseph Korabelnikov wrote: >I attempted to convert HTML file to the .jpg format from Command Prompt >window and got an error : > > convert: delegate failed (html2ps -o %o %i). > convert: no delegate for this image format (HTML). > >As I understood situation I need to install mgtl2ps library. Am I right. If >so, where to get it? > You can find it at . LDR -- ---------------------------------------------------------------------------- You've got a SmartFriend in Pennsylvania ---------------------------------------------------------------------------- Leonard Rosenthol Internet: leonardr@lazerware.com America Online: MACgician Web Site: FTP Site: PGP Fingerprint: C76E 0497 C459 182D 0C6B AB6B CA10 B4DF 8067 5E65 *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Mon Apr 3 08:25:55 2000 Date: Mon, 3 Apr 2000 08:25:55 +0200 From: Mark Overmeer To: Carl Knoos Subject: Re: Problem resizing images through perl script Message-ID: <20000403082555.B11537@atcmpg.ATComputing.nl> References: <20000331170117.B2095@atcmpg.ATComputing.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: ; from cknoos@atg.com on Sat, Apr 01, 2000 at 03:40:32PM -0500 Status: RO Content-Length: 1046 Lines: 23 * Carl Knoos (cknoos@atg.com) [000401 22:42]: > ld.so.1: /usr/local/bin/mogrify: fatal: libttf.so.2: open failed: No such > file or directory Typical for installing ImageMagick binaries: they are precompiled on a system with a long list of shared-libs. IM is very powerful, so there are many libs. While starting, the libs are contacted. Search for a libttf.so : you may not have it, have the wrong version or just a lacking link. ttf = True Type Fonts, and the lib is available at freetype.org. > I've asked the company that I rent space from to install > PerlMagick on the box, hopefully I won't have all these > problems if they do. Compatibility between all those libs and apps will continue to haunt us. -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From cknoos@atg.com Sat Apr 1 22:42 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id WAA04105 for ; Sat, 1 Apr 2000 22:42:15 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id WAA01429 for ; Sat, 1 Apr 2000 22:42:14 +0200 Received: from art.atg.com(205.181.94.1) by ns.ATComputing.nl via smap (V2.1) id xma001427; Sat, 1 Apr 00 22:42:05 +0200 Received: from donkeykong (donkey-kong.atg.com [205.181.107.218]) by art.atg.com (8.9.1/8.9.1) with SMTP id PAA24854 for ; Sat, 1 Apr 2000 15:42:29 -0500 (EST) From: "Carl Knoos" To: "Mark Overmeer" Subject: RE: Problem resizing images through perl script Date: Sat, 1 Apr 2000 15:40:32 -0500 Message-ID: MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Importance: Normal In-Reply-To: <20000331170117.B2095@atcmpg.ATComputing.nl> Content-Type: text/plain; charset="iso-8859-1" Status: RO X-Status: A Content-Length: 1865 Lines: 63 Blindness :) Now I'm on to the next problem though... when I try to execute the line from the script, my webservers error log contains this: ld.so.1: /usr/local/bin/mogrify: fatal: libttf.so.2: open failed: No such file or directory I'm seriously starting to get ticked now... hehe :) I've asked the company that I rent space from to install PerlMagick on the box, hopefully I won't have all these problems if they do. Thanks for your help! :) /Carl -----Original Message----- From: owner-magick@wizards.dupont.com [mailto:owner-magick@wizards.dupont.com]On Behalf Of Mark Overmeer Sent: Friday, March 31, 2000 10:01 AM To: Carl Knoos Cc: magick@wizards.dupont.com Subject: Re: Problem resizing images through perl script * Carl Knoos (cknoos@atg.com) [000331 01:39]: > if I run mogrify -geometry 95x95 whatever.jpg > I get exactly what I want, except when I try > to do it from Perl... > # resize it. > $result="$mogrifypath/mogrify -geometry 96x96 > $GalleryPath/tn_$ShortFilename"; I assume you try to execute this code: use back-tics: $result=`$mogrifypath/mogrify -geometry 96x96 $GalleryPath/tn_$ShortFilename`; or better qx(...) Is it just a slip of pen here, or just usual programmers-blindness? -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Tue May 9 15:14:18 2000 Date: Tue, 9 May 2000 15:14:18 +0200 From: Mark Overmeer To: Pletschette Andre Subject: Re: Undefined Symbol: SetWarningHandler Message-ID: <20000509151418.B15139@atcmpg.ATComputing.nl> References: <3917FC90.8B8B0CF@gmx.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <3917FC90.8B8B0CF@gmx.net>; from andre.pletschette@gmx.net on Tue, May 09, 2000 at 01:54:56PM +0200 Status: RO Content-Length: 1095 Lines: 25 * Pletschette Andre (andre.pletschette@gmx.net) [000509 15:11]: > When I tried to write a perl script with the following line in it: > use Image::Magick; > I get the following error-message: > > perl: error in loading shared librairies: > /usr/lib/perl5/site_perl/5.005/i586-lin > ux/auto/Image/Magick/Magick.so: undefined symbol: SetWarningHandler > > Could anybody tell me what this means, and how I can get it run, I run > Suse Linux 6.3 and I've installed Image Magick with the C++ and the Perl > Modules. The Perl::Magick and Image::Magick/ImageMagick modules are not compatible. Just reinstall all yourself from www.ImageMagick.org. Be warned: you have to remove the old Perl::Magick *.pm files too, otherwise you may still use the old versions... -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Tue May 9 15:11 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id PAA15311 for ; Tue, 9 May 2000 15:11:14 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id PAA24539 for ; Tue, 9 May 2000 15:11:13 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma024537; Tue, 9 May 00 15:11:01 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id JAA17934; Tue, 9 May 2000 09:09:29 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id IAA13522 for magick-outgoing; Tue, 9 May 2000 08:42:00 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <3917FC90.8B8B0CF@gmx.net> Date: Tue, 09 May 2000 13:54:56 +0200 From: Pletschette Andre X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.2.13 i586) X-Accept-Language: fr, en, de MIME-Version: 1.0 To: "magick@wizards.dupont.com" Subject: Undefined Symbol: SetWarningHandler Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Pletschette Andre Content-Type: text/plain; charset=us-ascii Status: RO X-Status: A Content-Length: 747 Lines: 19 When I tried to write a perl script with the following line in it: use Image::Magick; I get the following error-message: perl: error in loading shared librairies: /usr/lib/perl5/site_perl/5.005/i586-lin ux/auto/Image/Magick/Magick.so: undefined symbol: SetWarningHandler Could anybody tell me what this means, and how I can get it run, I run Suse Linux 6.3 and I've installed Image Magick with the C++ and the Perl Modules. *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Wed May 17 16:07 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id QAA15770 for ; Wed, 17 May 2000 16:07:07 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id QAA04359 for ; Wed, 17 May 2000 16:07:06 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma004357; Wed, 17 May 00 16:06:40 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id KAA02079; Wed, 17 May 2000 10:05:01 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id JAA23880 for magick-outgoing; Wed, 17 May 2000 09:41:41 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Date: Wed, 17 May 2000 08:46:17 -0500 (CDT) From: Bob Friesenhahn X-Sender: bfriesen@scooby.simplesystems.org To: Martin Bobrovsky cc: ImageMagick Mailing List Subject: Re: watermarks/embossing In-Reply-To: <4.3.1.2.20000517112416.00c72e30@mail.dot.at> Message-ID: MIME-Version: 1.0 Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bob Friesenhahn Content-Type: TEXT/PLAIN; charset=US-ASCII Status: RO Content-Length: 1859 Lines: 53 If you can afford the Digimarc library (see http://www.digimarc.com/licensing/sdk.html & http://www.digimarc.com/news/pr00-13.html), Bill Radcliffe can send you source for an ImageMagick module to do professional-grade watermarking. ImageMagick's 'combine' utility supports simplistic hidden watermarking via its -stegano option. If you want a visible logo, you could use -compose to compose your logo on top of, or blended with, the base image. Your visible logo can be mostly transparent in order to not disturb the image too much. See this interesting article about digital watermarking: http://www.spie.org/web/oer/november/nov99/cover1.html Bob On Wed, 17 May 2000, Martin Bobrovsky wrote: > Hi! > > Can someone tell how I achieve the effect of embossing a text onto an > image? My intention is to "secure" images on the web by applying a symbol > or text which on the one hand does not affect the impression of the image > too much, but on the other hand, makes the image "unusable" for > professional printing purposes ... > > thanks, > martin > > > *********************************************************************** > To remove yourself from this mailing list, send mail to: > majordomo@wizards.dupont.com > > Include the following command in the body of your message: > unsubscribe magick > *********************************************************************** > ====================================== Bob Friesenhahn bfriesen@simple.dallas.tx.us http://www.simplesystems.org/users/bfriesen *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-bugs@simple.dallas.tx.us Wed Jun 14 16:54 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id QAA25632 for ; Wed, 14 Jun 2000 16:54:28 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id QAA12167 for ; Wed, 14 Jun 2000 16:54:27 +0200 Received: from ns.simplesystems.org(204.252.75.242) by ns.ATComputing.nl via smap (V2.1) id xma012165; Wed, 14 Jun 00 16:54:12 +0200 Received: from localhost (localhost [127.0.0.1]) by ns.simplesystems.org (8.9.3/8.9.3) with ESMTP id JAA14556 for ; Wed, 14 Jun 2000 09:54:08 -0500 (CDT) From: magick-bugs@simple.dallas.tx.us Date: Wed, 14 Jun 2000 09:54:08 -0500 (CDT) Message-Id: <200006141454.JAA14556@ns.simplesystems.org> To: markov@ATComputing.nl Subject: Re: Annotate problems (PR#298) X-Loop: magick-bugs@simple.dallas.tx.us Content-Type: text Status: RO X-Status: A Content-Length: 307 Lines: 9 Thank you for submitting an ImageMagick bug report to magick-bugs@simplesystems.org. Your bug report is available on the web at the URL http://www.simplesystems.org/ImageMagick/bugs?findid=298 Report any problems with the bug tracking system itself to Bob Friesenhahn . From markov@ATComputing.nl Wed Jun 14 17:43:34 2000 Date: Wed, 14 Jun 2000 17:43:34 +0200 From: Mark Overmeer To: Cristy Subject: Re: your mail Message-ID: <20000614174334.G22766@atcmpg.ATComputing.nl> References: <8172.960997992@mystic> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <8172.960997992@mystic>; from cristy@mystic.es.dupont.com on Wed, Jun 14, 2000 at 11:53:11AM -0400 Status: RO X-Status: A Content-Length: 1403 Lines: 34 * Cristy (cristy@mystic.es.dupont.com) [000614 17:23]: > $img->Read("logo:"); > $text="I am a LumberJack"; > $poinsize=40; > my ($width, $height) = $img->Get('width', 'height'); > $img->Annotate > ( fill => 'yellow' > , text => $text > , font => > '-bitstream-charter-medium-r-normal--40-0-0-0-p-0-iso8859-1' > , gravity => 'SouthEast' > , 'x' => 5 > , 'y' => $poinsize+5 > ); > $img->Write(filename => "test.gif"); So: gravity work differently from my well known "anchor", where x,y defines a point and anchor the location of the point wrt the item to be put on the background. It was not clear from the docs. It what you propose a feature or a designed thing? You specify the coordinate of the right-top (NorthEast) wrt to the right-bottom (SouthEast). I expect that x=0,y=0,SouthWest will work wrt to NorthWest. It is not logical for me to treat North/South differently from East/West (designed before the fall of the Iron curtain?) And also: the text still appears in black. -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From cristy@mystic.es.dupont.com Wed Jun 14 17:23 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA27207 for ; Wed, 14 Jun 2000 17:23:28 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA12199 for ; Wed, 14 Jun 2000 17:23:27 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012197; Wed, 14 Jun 00 17:23:08 +0200 Received: from mystic.es.dupont.com (mystic.es.dupont.com [138.196.253.24]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id LAA26619 for ; Wed, 14 Jun 2000 11:23:06 -0400 (EDT) Received: (from cristy@localhost) by mystic.es.dupont.com (8.10.0.Beta12/8.10.0.Beta12) id e5EFrBI08173 for markov@ATComputing.nl; Wed, 14 Jun 2000 11:53:11 -0400 (EDT) Date: Wed, 14 Jun 2000 11:53:11 -0400 (EDT) From: Cristy Message-ID: <8172.960997992@mystic> Mime-Version: 1.0 To: markov@ATComputing.nl Content-Type: multipart/mixed; boundary="-" Status: RO X-Status: A Content-Length: 1042 Lines: 21 This is a MIME encoded message. Decode it with "munpack" or any other MIME reading software. Mpack/munpack is available via anonymous FTP in ftp.andrew.cmu.edu:pub/mpack/ --- Content-Type: application/octet-stream; name="test.pl" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="test.pl" Content-MD5: el1GVGE1xEpFTeim4lKdYA== ICAgdXNlIEltYWdlOjpNYWdpY2s7CiAgICRpbWc9SW1hZ2U6Ok1hZ2ljay0+bmV3OwogICAk aW1nLT5SZWFkKCJsb2dvOiIpOwogICAkdGV4dD0iSSBhbSBhIEx1bWJlckphY2siOwogICAk cG9pbnNpemU9NDA7CiAgIG15ICgkd2lkdGgsICRoZWlnaHQpID0gJGltZy0+R2V0KCd3aWR0 aCcsICdoZWlnaHQnKTsKICAgJGltZy0+QW5ub3RhdGUKICAgICAgKCBmaWxsICAgID0+ICd5 ZWxsb3cnCiAgICAgICwgdGV4dCAgICAgID0+ICR0ZXh0CiAgICAgICwgZm9udCAgICAgID0+ CictYml0c3RyZWFtLWNoYXJ0ZXItbWVkaXVtLXItbm9ybWFsLS00MC0wLTAtMC1wLTAtaXNv ODg1OS0xJwogICAgICAsIHBvaW50c2l6ZSA9PiAkcG9pbnNpemUKICAgICAgLCBncmF2aXR5 ICAgPT4gJ1NvdXRoRWFzdCcKICAgICAgLCAneCcgICAgICAgPT4gNQogICAgICAsICd5JyAg ICAgICA9PiAkcG9pbnNpemUrNQogICAgICApOwogICAkaW1nLT5Xcml0ZShmaWxlbmFtZSAg PT4gInRlc3QuZ2lmIik7Cgo= ----- From markov@ATComputing.nl Wed Jun 14 17:49:26 2000 Date: Wed, 14 Jun 2000 17:49:26 +0200 From: Mark Overmeer To: Cristy Subject: Re: your mail Message-ID: <20000614174926.H22766@atcmpg.ATComputing.nl> References: <200006141616.e5EGG3x19487@mystic.es.dupont.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <200006141616.e5EGG3x19487@mystic.es.dupont.com>; from cristy@mystic.es.dupont.com on Wed, Jun 14, 2000 at 12:16:03PM -0400 Status: RO Content-Length: 686 Lines: 17 * Cristy (cristy@mystic.es.dupont.com) [000614 17:46]: > > It was not clear from the docs. > > There is alot that is not clear in the docs. We're writing a book due > out next year to fix these sorts of problems. I'll certainly buy the book. But: will you also respond to the two remaining quesions from my previous mail? -- Thanks for the fast response, MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From cristy@mystic.es.dupont.com Wed Jun 14 17:46 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA27475 for ; Wed, 14 Jun 2000 17:46:29 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA12244 for ; Wed, 14 Jun 2000 17:46:28 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012242; Wed, 14 Jun 00 17:45:59 +0200 Received: from mystic.es.dupont.com (mystic.es.dupont.com [138.196.253.24]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id LAA26733 for ; Wed, 14 Jun 2000 11:45:58 -0400 (EDT) Received: (from cristy@localhost) by mystic.es.dupont.com (8.10.0.Beta12/8.10.0.Beta12) id e5EGG3x19487 for markov@ATComputing.nl; Wed, 14 Jun 2000 12:16:03 -0400 (EDT) Date: Wed, 14 Jun 2000 12:16:03 -0400 (EDT) From: Cristy Message-Id: <200006141616.e5EGG3x19487@mystic.es.dupont.com> To: markov@ATComputing.nl Subject: Re: your mail Content-Type: text Status: RO X-Status: A Content-Length: 152 Lines: 4 > It was not clear from the docs. There is alot that is not clear in the docs. We're writing a book due out next year to fix these sorts of problems. From cristy@mystic.es.dupont.com Wed Jun 14 17:56 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA27517 for ; Wed, 14 Jun 2000 17:55:59 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA12254 for ; Wed, 14 Jun 2000 17:55:58 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012252; Wed, 14 Jun 00 17:55:29 +0200 Received: from mystic.es.dupont.com (mystic.es.dupont.com [138.196.253.24]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id LAA26777 for ; Wed, 14 Jun 2000 11:55:28 -0400 (EDT) Received: (from cristy@localhost) by mystic.es.dupont.com (8.10.0.Beta12/8.10.0.Beta12) id e5EGPYM19527 for markov@ATComputing.nl; Wed, 14 Jun 2000 12:25:34 -0400 (EDT) Date: Wed, 14 Jun 2000 12:25:34 -0400 (EDT) From: Cristy Message-Id: <200006141625.e5EGPYM19527@mystic.es.dupont.com> To: markov@ATComputing.nl Subject: Re: your mail Content-Type: text Status: RO Content-Length: 189 Lines: 5 > But: will you also respond to the two > remaining quesions from my previous mail? Sure if you remind me what they are. I get upwards of 100+ e-mails a day so it's hard to keep track... From markov@ATComputing.nl Wed Jun 14 18:00:18 2000 Date: Wed, 14 Jun 2000 18:00:18 +0200 From: Mark Overmeer To: Cristy Subject: Re: your mail Message-ID: <20000614180018.I22766@atcmpg.ATComputing.nl> References: <8172.960997992@mystic> <20000614174334.G22766@atcmpg.ATComputing.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <20000614174334.G22766@atcmpg.ATComputing.nl>; from markov@ATComputing.nl on Wed, Jun 14, 2000 at 05:43:34PM +0200 Status: RO Content-Length: 1972 Lines: 47 >> But: will you also respond to the two >> remaining quesions from my previous mail? >Sure if you remind me what they are. I get upwards of 100+ e-mails a day >so it's hard to keep track... You replied just a few seconds earlier on my message below. I replied in a few seconds to it... but I understand you have to scan mail that fast. (I maintain 6 websites, so know getting large amounts of e-mail means) Thanks for the example anyway. * Mark Overmeer (markov@ATComputing.nl) [000614 17:43]: > * Cristy (cristy@mystic.es.dupont.com) [000614 17:23]: > > $img->Read("logo:"); > > $text="I am a LumberJack"; > > $poinsize=40; > > my ($width, $height) = $img->Get('width', 'height'); > > $img->Annotate > > ( fill => 'yellow' > > , text => $text > > , font => > > '-bitstream-charter-medium-r-normal--40-0-0-0-p-0-iso8859-1' > > , gravity => 'SouthEast' > > , 'x' => 5 > > , 'y' => $poinsize+5 > > ); > > $img->Write(filename => "test.gif"); > > So: gravity work differently from my well known "anchor", where > x,y defines a point and anchor the location of the point wrt the > item to be put on the background. It was not clear from the docs. > > It what you propose a feature or a designed thing? You specify the > coordinate of the right-top (NorthEast) wrt to the right-bottom > (SouthEast). I expect that x=0,y=0,SouthWest will work wrt to > NorthWest. It is not logical for me to treat North/South differently > from East/West (designed before the fall of the Iron curtain?) > > And also: the text still appears in black. > -- > MarkOv %-] > > ------------------------------------------------------------------------ > drs Mark A.C.J. Overmeer markov@ATComputing.nl > AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl > http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From markov@ATComputing.nl Wed Jun 14 18:17:41 2000 Date: Wed, 14 Jun 2000 18:17:41 +0200 From: Mark Overmeer To: Cristy Subject: Re: your mail Message-ID: <20000614181741.J22766@atcmpg.ATComputing.nl> References: <200006141634.e5EGYfI19547@mystic.es.dupont.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="5vNYLRcllDrimb99" X-Mailer: Mutt 1.0pre4i In-Reply-To: <200006141634.e5EGYfI19547@mystic.es.dupont.com>; from cristy@mystic.es.dupont.com on Wed, Jun 14, 2000 at 12:34:41PM -0400 Status: RO Content-Length: 4505 Lines: 82 --5vNYLRcllDrimb99 Content-Type: text/plain; charset=us-ascii * Cristy (cristy@mystic.es.dupont.com) [000614 18:05]: > > It what you propose a feature or a designed thing? You specify the > > coordinate of the right-top (NorthEast) wrt to the right-bottom > > (SouthEast). I expect that x=0,y=0,SouthWest will work wrt to > > NorthWest. It is not logical for me to treat North/South differently > > from East/West (designed before the fall of the Iron curtain?) > > I'll send you a script that illustrates how gravity works. The x,y > offset basically creates a bounding box within the image and the text > is placed relative to the virtual bounding box. As you can see in your own demo script, it is not consequent: W and E are inside the square, while N and S are outside... in my run. Image attached. I changed the line-color you yellow (stroke) which worked, but it still does not work for the text. > Are you using ImageMagick 5.2.0? When I used the script I sent the > text color was indeed yellow. The latest 5.2.0 (less than 48 hours ago directly from imagemagick.org). Sorry, no more time to investigate for me today: have to go... -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl --5vNYLRcllDrimb99 Content-Type: image/gif Content-Disposition: attachment; filename="test.gif" Content-Transfer-Encoding: base64 R0lGODlhkAGQAfECAP///wAAAP//AAAAACH5BAAAAAAALAAAAACQAZABAAL+hI+py+0Po5y0 2ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1is1q t9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7P6/f8vv8PGCg4SFhoeIiYqLjI2Oj4CBkpOUlZ aXmJmam5ydnp+QkaKjpKWmp6ipqqusra6voKGys7S1tre4ubq7vL2+v7CxwsPExcbHyMnKy8 zNzs/AwdLT1NXW19jZ2tvc3d7f0NHi4+Tl5ufo6err7O3u7+Dh8vP09fb3+Pn6+/z9/v/w8w oMCBBAsaPIgwocIgARo2VOAwokQAEh8eiLhiYoL+ijI0IqgIkmM6jx8DXHRY0iRElRkxrqxB 8mTKl+pcbmRJ0eJJnAZ4qrBZ0gZQmUEhrouZ8+ZNnz5TINU54ylPqBePmkRZdKfSrCweYiVK wyvVsU3ZWfyadOZOnGVRnIVKNcZbtlOZmmUJlylduDB05hWKl+5WsCMDB16JN63iFn4bA9ba sy7Iu2rjYhWrsq3bvZEfQyY7WFtIm2SvNkWZ+Szi0RBGfy2t2HVcCbIPzwS9MSXrbZZNL/A4 lLHexR2H4/5IefVvtMG7nkZbfPlxeLOb55QcXTnM59ORF2YAHTLhF7Ove0Yc2ju22uzbu38P P778+fTrt1+meW35tqf+5WoUkFtUSPUUWW204XcGgGbkBwyDWyhYhoO+SJgFhGRQyAuGV1g4 hoa6eFgFh2KAiAuJU4gYhom2qBgFimCwSAuMT7j4hYyy2NgEjV7gCAuPS+jYhY+uCJkEkFwQ yQqSRxi5hZKqOFkEk1pAiQqVQ0iZhZWmaBkEllhwSQqYP3h5hZiimNkDmVagCQqbO6hZhZue yJkDnFTQyQmeN9g5hZ6a+FkDn1IAigmhMwgahaGWKBoDolAwSgmkLzj6hKSSWNoCpU5gCgmn K2jahKeOiJoCqEyQygiqJ5i6hKqKuFoCq0rAigitI8iahK2G6BoCrkjwSgiwH/h6hLCCGNv+ AbFGIAsIsxsoW4SzfkibAbREUMsHthdYO4S2enhbAbdCgIsHuROIyxCCZqALhLl2uBsBuz/A Swe9D8jrg71y6NsAvj3wCwfAC/jLg8BuGJwAwTsgzAbDByisg8NqSAwAxDlQjAbFFuOA8Rka e6xuGRvf0PGCCYKszMcmp3zyysmoHGHIZIwslMxj0AyTzWLgHJbOYfAclc9gAN2R0F8QLZfR XiDdl9JdME2e01xA7ULJMa+L8sstX6011i4jA/OFUj+YNdhbi82y11ybrTbaXYtc9jFhdzi2 FlQzVneFcRsz94h5Y3F3V39vuHcxfac4uBWBZ5R4iIUTc/iLjVP+sfhPk5/4+DCR13i5FJU7 1XmLmQuz+Y6hQ/G5W6fPOHowpQe5uhOpn2C12zO33mAEHE22FkOTucregWm3xlx1nGKkoHXt 9ib828RjF2C+OllYnu+/Nc82bdCr9y9OHNpaHfZyUwBddxFD9X2uKtZO9wTF8zUvT7M7YJn7 +AmAf/76749/Q/pH9D/+CXCABCygAQnovwMqcIEMbGABE5g/CB6QfX4jn19iczz5VSok9hue 9lJjHopYDwHza4D5TIgfAy1FhCGUzG5AoEKquEiFTpENVwhUINckDjjhKRj6NmgU8fHNAkBR 3sV+uKn1Na581TsfS0oInrI4iIKII+L+Cbv3xOgtS4q6m9xwroUSCDVxeehpjRevt8UBjSt4 ZvTgzXD3i9cdKXY5guOEztY+573xa+NrWx6zdzs+DtGPFdTjzuzYCzk2iY5MgOIIqCg5QlbR kD9DZIbwWEhA7nFtfYSbIA2HyUlq8pCfhFwoI0nJoVlyF4qcEiN/tMoPnZJzbiQlJwfpyVuC UpKoHGUlS6m5WZqulr/UpSl5SctUHi2WuWhlll6pBEeKAJLJDKQxg4nMYSpzacwskTBhR0xV ApN035xjOJc5TteVc5Hn5GY6c5dNcG7zad28hTO/BM0i1XNF63RlO+n5zjj285n/nNo+a3HP MuUTCdIMATX+tWlN23Uyon+c6CYlikuKZtKitsToLnPp0WOCtKIZvShJP6pRUXK0mCHF5kg3 WtKOnlSkKe3lSsV5TXLG05zzNGhA77hTdvaUbD9N5EDxWVCi5lSdQfXnUO120BgdVaFJhWpR L9lUgj5Vb1dl5VTXtNAlRXUWCQVrVbm6VHi+VKUxZelMXVrTat4UnWkVaFaRulXAjfVGX41T WI3QUBim0D6ELaxhD4vYxMJnIYwNEu92J5IchoV3C3ssDdHxmsbk5TmTNYwPPSue8ZhjOky0 y2TTQ7K6oJaF39EiccKjp/pVNoiiZS1mSdudMf7kigJSbW3v0sT3sQUwut1OcE3+a5Xj6oZ7 vfWU8nhbDjW+BoMcMyJxjUdZ4GK3M5dxYnGb+8XfVuOyy0VPajKzGg5WgLy9y6F6OcBeyd7Q tvHlDWxJ08PUfre5831oH7ijHfnmrIwck858zRJFA6tlwDQp8HIObNvocpbAnUntg4944QrT 9hybReFqs1MgHy5Yw6EdbXY3XJXqRta7+K1vY18M4xjLeMY0rrGNb4zjHOt4xzzusY9/DOQg C3nIRC6ykY+M5CQreclMbrKTnwzlKEt5ylSuspWvjOUsa3nLXO6yl78M5jCLecxkLrOZz4zm NKt5zWxus5vfDOc4y3nOdK6zne+M5zzrec987rOf/wwg6EALetCELrShD43oRCt60YxutKMf DelIS3rSlF50AQAAOw== --5vNYLRcllDrimb99-- From cristy@mystic.es.dupont.com Wed Jun 14 18:05 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA28005 for ; Wed, 14 Jun 2000 18:04:59 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA12271 for ; Wed, 14 Jun 2000 18:04:58 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012267; Wed, 14 Jun 00 18:04:36 +0200 Received: from mystic.es.dupont.com (mystic.es.dupont.com [138.196.253.24]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id MAA26846 for ; Wed, 14 Jun 2000 12:04:35 -0400 (EDT) Received: (from cristy@localhost) by mystic.es.dupont.com (8.10.0.Beta12/8.10.0.Beta12) id e5EGYfI19547 for markov@ATComputing.nl; Wed, 14 Jun 2000 12:34:41 -0400 (EDT) Date: Wed, 14 Jun 2000 12:34:41 -0400 (EDT) From: Cristy Message-Id: <200006141634.e5EGYfI19547@mystic.es.dupont.com> To: markov@ATComputing.nl Subject: Re: your mail Content-Type: text Status: RO X-Status: A Content-Length: 670 Lines: 14 > It what you propose a feature or a designed thing? You specify the > coordinate of the right-top (NorthEast) wrt to the right-bottom > (SouthEast). I expect that x=0,y=0,SouthWest will work wrt to > NorthWest. It is not logical for me to treat North/South differently > from East/West (designed before the fall of the Iron curtain?) I'll send you a script that illustrates how gravity works. The x,y offset basically creates a bounding box within the image and the text is placed relative to the virtual bounding box. > And also: the text still appears in black. Are you using ImageMagick 5.2.0? When I used the script I sent the text color was indeed yellow. From cristy@eplrx7.es.dupont.com Wed Jun 14 18:05 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA28006 for ; Wed, 14 Jun 2000 18:04:59 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA12272 for ; Wed, 14 Jun 2000 18:04:58 +0200 Received: from gatekeeper.es.dupont.com(192.26.233.2) by ns.ATComputing.nl via smap (V2.1) id xma012268; Wed, 14 Jun 00 18:04:47 +0200 Received: from eplrx7.es.dupont.com (eplrx7.es.dupont.com [138.196.252.7]) by gatekeeper.es.dupont.com (8.9.3/8.9.3) with ESMTP id MAA26850 for ; Wed, 14 Jun 2000 12:04:46 -0400 (EDT) Received: from fantasia.es.dupont.com (fantasia.es.dupont.com [138.196.253.22]) by eplrx7.es.dupont.com (8.9.3/8.9.3) with ESMTP id MAA06403 for ; Wed, 14 Jun 2000 12:04:45 -0400 (EDT) Received: by fantasia.es.dupont.com (8.9.3+Sun) id MAA01601; Wed, 14 Jun 2000 12:03:33 -0400 (EDT) From: Cristy Date: Wed, 14 Jun 2000 12:03:33 -0400 (EDT) Message-ID: <1600.960998613@fantasia> Mime-Version: 1.0 To: markov@ATComputing.nl Content-Type: multipart/mixed; boundary="-" Status: RO Content-Length: 2009 Lines: 34 This is a MIME encoded message. Decode it with "munpack" or any other MIME reading software. Mpack/munpack is available via anonymous FTP in ftp.andrew.cmu.edu:pub/mpack/ --- Content-Type: application/octet-stream; name="gravity.pl" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="gravity.pl" Content-MD5: faVMCotdBUpHJCDAv7HACA== IyEvdXNyL2xvY2FsL2Jpbi9wZXJsCgp1c2UgSW1hZ2U6Ok1hZ2ljazsKCiRwaWMgPSBJbWFn ZTo6TWFnaWNrLT5uZXcoc2l6ZT0+IjQwMHg0MDAiKTsKJHBpYy0+UmVhZCgieGM6d2hpdGUi KTsKCiR4ID0gMTAwOwokeSA9IDEwMDsKJHBpYy0+RHJhdyhwcmltaXRpdmU9PidsaW5lJyxw b2ludHM9PiIyMDAsMTAwIDIwMCwzMDAiLHN0cm9rZT0+J2JsYWNrJyk7CiRwaWMtPkRyYXco cHJpbWl0aXZlPT4nbGluZScscG9pbnRzPT4iMTAwLDIwMCAzMDAsMjAwIixzdHJva2U9Pidi bGFjaycpOwokcGljLT5EcmF3KHByaW1pdGl2ZT0+J3JlY3RhbmdsZScscG9pbnRzPT4iMTAw LDEwMCAzMDAsMzAwIixzdHJva2U9PidibGFjaycpOwokcGljLT5Bbm5vdGF0ZShwb2ludHNp emU9PjI0LGZvbnQ9PidUaW1lcycsdGV4dD0+Ii1OVy0iLGdyYXZpdHk9PiJOb3J0aFdlc3Qi LHg9PiR4LHk9PiR5KTsKJHBpYy0+QW5ub3RhdGUocG9pbnRzaXplPT4yNCxmb250PT4nVGlt ZXMnLHRleHQ9PiItTi0iLGdyYXZpdHk9PiJOb3J0aCIseD0+JHgseT0+JHkpOwokcGljLT5B bm5vdGF0ZShwb2ludHNpemU9PjI0LGZvbnQ9PidUaW1lcycsdGV4dD0+Ii1ORS0iLGdyYXZp dHk9PiJOb3J0aEVhc3QiLHg9PiR4LHk9PiR5KTsKJHBpYy0+QW5ub3RhdGUocG9pbnRzaXpl PT4yNCxmb250PT4nVGltZXMnLHRleHQ9PiItRS0iLGdyYXZpdHk9PiJFYXN0Iix4PT4keCx5 PT4keSk7CiRwaWMtPkFubm90YXRlKHBvaW50c2l6ZT0+MjQsZm9udD0+J1RpbWVzJyx0ZXh0 PT4iLUMtIixncmF2aXR5PT4iQ2VudGVyIix4PT4keCx5PT4keSk7CiRwaWMtPkFubm90YXRl KHBvaW50c2l6ZT0+MjQsZm9udD0+J1RpbWVzJyx0ZXh0PT4iLVNFLSIsZ3Jhdml0eT0+IlNv dXRoRWFzdCIseD0+JHgseT0+JHkpOwokcGljLT5Bbm5vdGF0ZShwb2ludHNpemU9PjI0LGZv bnQ9PidUaW1lcycsdGV4dD0+Ii1TLSIsZ3Jhdml0eT0+IlNvdXRoIix4PT4keCx5PT4keSk7 CiRwaWMtPkFubm90YXRlKHBvaW50c2l6ZT0+MjQsZm9udD0+J1RpbWVzJyx0ZXh0PT4iLVNX LSIsZ3Jhdml0eT0+IlNvdXRoV2VzdCIseD0+JHgseT0+JHkpOwokcGljLT5Bbm5vdGF0ZShw b2ludHNpemU9PjI0LGZvbnQ9PidUaW1lcycsdGV4dD0+Ii1XLSIsZ3Jhdml0eT0+Ildlc3Qi LHg9PiR4LHk9PiR5KTsKCiRwaWMtPldyaXRlKGZpbGVuYW1lPT4idGVzdC5naWYiKTsKc3lz dGVtKCJkaXNwbGF5IHRlc3QuZ2lmIik7Cg== ----- From magick-owner@unca-don.wizards.dupont.com Thu Jun 29 18:01 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA10314 for ; Thu, 29 Jun 2000 18:01:15 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA00740 for ; Thu, 29 Jun 2000 18:01:14 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma000732; Thu, 29 Jun 00 18:01:07 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id MAA07078; Thu, 29 Jun 2000 12:00:36 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA10740 for magick-outgoing; Thu, 29 Jun 2000 11:48:25 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <395B7519.F40670B@northrim.net> Date: Thu, 29 Jun 2000 10:11:05 -0600 From: Karl Sloth X-Mailer: Mozilla 4.72 [en] (X11; I; Linux 2.2.14 i586) X-Accept-Language: en MIME-Version: 1.0 To: magick@wizards.dupont.com Subject: mailing list archives Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Karl Sloth Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 552 Lines: 17 Hi all- The folks at The Aims Group have added the ImageMagick mailing list to their online mailing list archives. They have a searchable history going back to 1996. Very handy. http://marc.theaimsgroup.com/?l=imagemagick&r=1&w=2 -karl *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Tue Jul 4 12:33:47 2000 Date: Tue, 4 Jul 2000 12:33:47 +0200 From: Mark Overmeer To: magick-bugs@simple.dallas.tx.us Subject: Re: Annotate problems (PR#298) Message-ID: <20000704123347.F2009@atcmpg.ATComputing.nl> References: <200006141454.JAA14556@ns.simplesystems.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <200006141454.JAA14556@ns.simplesystems.org>; from magick-bugs@simple.dallas.tx.us on Wed, Jun 14, 2000 at 09:54:08AM -0500 Status: RO Content-Length: 573 Lines: 12 * magick-bugs@simple.dallas.tx.us (magick-bugs@simple.dallas.tx.us) [000614 16:54]: > Your bug report is available on the web at the URL > http://www.simplesystems.org/ImageMagick/bugs?findid=298 Both indicated problems are fixed in 5.2.1 -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Sun Jul 2 02:40 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id CAA01634 for ; Sun, 2 Jul 2000 02:40:25 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id CAA03454 for ; Sun, 2 Jul 2000 02:40:24 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma003450; Sun, 2 Jul 00 02:40:07 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id UAA32165; Sat, 1 Jul 2000 20:39:55 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id UAA16952 for magick-outgoing; Sat, 1 Jul 2000 20:30:03 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <395E8F1F.B804FCB7@interak.com> Date: Sat, 01 Jul 2000 16:38:55 -0800 From: Marc Grober X-Mailer: Mozilla 4.61 [en] (X11; I; UnixWare 5 i386) MIME-Version: 1.0 To: magick@wizards.dupont.com Subject: delegates.mgk set-up for unixware printing Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Marc Grober Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 1403 Lines: 45 Under unixware to print from displayt to an HP laserjet (usual command to print postscript being lp -dhpraw -Tpostscript), I changed the delegates.mgk file (which I found in /usr/local/share/Magick as installed from the SCO skunkware CD) from ps<=print /usr/bin/lp -c -s %i to ps<=print /usr/bin/lp -dhpraw -c -s -Tpostscript %i and it appears everything is working. The -c make an immediate copy and feeds it to the spooler and without it you get an error message (below) which my guess is is a bit misleading in that I have to assume that what is really happening is that without the -c IM is not passing anything to the spooler........ ****************************************************************************** Subject: Status of lp request hpraw-347 Your request hpraw-347 destined for hpraw encountered an error during filtering. Reason for failure: UX:lp: ERROR: Cannot read the file "/tmp/hacienda.jpg". TO FIX: See if it still exists and is readable, or consult your system administrator. *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Mon Jul 3 16:12 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id QAA28389 for ; Mon, 3 Jul 2000 16:12:41 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id QAA05092 for ; Mon, 3 Jul 2000 16:12:40 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma005088; Mon, 3 Jul 00 16:12:32 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id KAA12560; Mon, 3 Jul 2000 10:12:03 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id KAA20768 for magick-outgoing; Mon, 3 Jul 2000 10:01:07 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <395BACF9.CFA6970@interak.com> Date: Thu, 29 Jun 2000 12:09:30 -0800 From: Marc Grober X-Mailer: Mozilla 4.61 [en] (X11; I; UnixWare 5 i386) MIME-Version: 1.0 To: magick@wizards.dupont.com Subject: printing solution for UW 7.1 Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Marc Grober Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 1500 Lines: 46 Under unixware to print from displayt to an HP laserjet (usual command to print postscript being lp -dhpraw -Tpostscript), I changed the delegates.mgk file (which I found in /usr/local/share/Magick as installed from the SCO skunkware CD) from ps<=print /usr/bin/lp -c -s %i to ps<=print /usr/bin/lp -dhpraw -c -s -Tpostscript %i and it appears everything is working. The -c make an immediate copy and feeds it to the spooler and without it you get an error message (below) which my guess is is a bit misleading in that I have to assume that what is really happening is that without the -c IM is not passing anything to the spooler........ ****************************************************************************** Subject: Status of lp request hpraw-347 Your request hpraw-347 destined for hpraw encountered an error during filtering. Reason for failure: UX:lp: ERROR: Cannot read the file "/tmp/hacienda.jpg". TO FIX: See if it still exists and is readable, or consult your system administrator. I have tried this with jpegs, gifs etc and in quite a number of locations Placed the -c -s back in *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Fri Jul 7 09:27 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id JAA27505 for ; Fri, 7 Jul 2000 09:27:32 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id JAA11016 for ; Fri, 7 Jul 2000 09:27:31 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma011014; Fri, 7 Jul 00 09:27:21 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id DAA06530; Fri, 7 Jul 2000 03:26:27 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id DAA06369 for magick-outgoing; Fri, 7 Jul 2000 03:15:15 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Date: Fri, 7 Jul 2000 17:24:12 +1000 From: Martien Verbruggen To: Geoff Armstrong Cc: ImageMagick Mailing List Subject: Re: converts new sharpen factors Message-ID: <20000707172412.C23320@martien.heliotrope.home> References: <00070515380200.26142@berlioz> Mime-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.2.2i In-Reply-To: <00070515380200.26142@berlioz>; from geofstro@monaco.mc on Wed, Jul 05, 2000 at 03:35:26PM +0200 Organisation: Heliotrope Productions Pty. Ltd. Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Martien Verbruggen Content-Type: text/plain; charset=us-ascii Status: RO Content-Length: 1483 Lines: 36 -- Geoff Armstrong wrote on Wed 5 Jul 15:35 PM -- > Hi, > > I know the sharpen factors for convert have changed since 5.2.0; but I > can't find the new factors documented anywhere. The factors are no longer really factors, but orders for a convolution kernel, if I've understood it all correctly. Since convolution has become available in ImageMagick, many of the old filters have been rewritten to use a kernel (blur, sharpen, charcoal, emboss, edge). The convert manual page mentions that good values are odd numbers between 3 and 31. Martien PS. If you don't know what convolution is: apply a matrix to each pixel, and it's surrounding neighbors covered by the matrix. The values of each covered pixel get multiplied by the matrix cell's value, and all added together. The new value for the target pixel is this sum. The 'order' that I talked about above is the height and width of the matrix involved (in ImageMagick they're always square). -- Martien Verbruggen | Interactive Media Division | "In a world without fences, Commercial Dynamics Pty. Ltd. | who needs Gates?" NSW, Australia | *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@unca-don.wizards.dupont.com Fri Jul 7 17:55 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id RAA13560 for ; Fri, 7 Jul 2000 17:55:42 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id RAA15121 for ; Fri, 7 Jul 2000 17:55:42 +0200 Received: from mustang.oldcity.dca.net(216.158.38.3) by ns.ATComputing.nl via smap (V2.1) id xma015105; Fri, 7 Jul 00 17:55:27 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by mustang.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id LAA24776; Fri, 7 Jul 2000 11:54:30 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id LAA07897 for magick-outgoing; Fri, 7 Jul 2000 11:44:52 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Date: Fri, 7 Jul 2000 12:23:40 -0400 (EDT) From: Cristy Message-Id: <200007071623.e67GNev10760@mystic.es.dupont.com> To: magick@wizards.dupont.com Subject: New ImageMagick mailing list Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Cristy Content-Type: text Status: RO Content-Length: 1242 Lines: 31 *********************************************************************** This list is being decommissioned. Please join one or more of the new ImageMagick mailing lists as described at http://www.imagemagick.org/www/magick-list.html. *********************************************************************** In response to a number of suggestions and/or complaints about the magick@wizards.dupont.com ImageMagick mailing list, I have created three new lists: magick-user@imagemagick.org magick-deveoper@imagemagick.org magick-announce@imagemagick.org See http://www.imagemagick.org/www/magick-list.html for instructions on joining and/or posting. I will keep the current list at magick@wizards.dupont.com running for the next couple of months to cause the least amount of disruption. At your convenience unsubscribe from magick@wizards.dupont.com and choose one of the lists above, whichever is appropriate. *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Sat Jul 8 10:27:08 2000 Date: Sat, 8 Jul 2000 10:27:08 +0200 From: Mark Overmeer To: majordomo@imagemagick.org Subject: subscribe Message-ID: <20000708102708.B1570@atcmpg.ATComputing.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i Status: RO Content-Length: 27 Lines: 1 subscribe magick-developer From markov@ATComputing.nl Sat Jul 8 13:53:18 2000 Date: Sat, 8 Jul 2000 13:53:18 +0200 From: Mark Overmeer To: Majordomo@imagemagick.org Subject: Re: Confirmation for subscribe magick-developer Message-ID: <20000708135318.A2549@atcmpg.ATComputing.nl> References: <200007080855.EAA15589@imagemagick.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <200007080855.EAA15589@imagemagick.org>; from Majordomo@imagemagick.org on Sat, Jul 08, 2000 at 04:55:40AM -0400 Status: RO Content-Length: 63 Lines: 1 auth 44b84310 subscribe magick-developer markov@ATComputing.nl From Majordomo-Owner@imagemagick.org Sat Jul 8 10:27 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id KAA01750 for ; Sat, 8 Jul 2000 10:27:39 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id KAA25253 for ; Sat, 8 Jul 2000 10:27:38 +0200 Received: from magick.imagemagick.org(38.220.172.2) by ns.ATComputing.nl via smap (V2.1) id xma025238; Sat, 8 Jul 00 10:27:26 +0200 Received: (from majordomo@localhost) by imagemagick.org (8.9.3/8.9.3) id EAA15589; Sat, 8 Jul 2000 04:55:40 -0400 Date: Sat, 8 Jul 2000 04:55:40 -0400 Message-Id: <200007080855.EAA15589@imagemagick.org> X-Authentication-Warning: magick.imagemagick.org: majordomo set sender to Majordomo-Owner@imagemagick.org using -f To: markov@ATComputing.nl From: Majordomo@imagemagick.org Subject: Confirmation for subscribe magick-developer Reply-To: Majordomo@imagemagick.org Content-Type: text Status: RO X-Status: A Content-Length: 822 Lines: 25 -- Someone (possibly you) has requested that your email address be added to or deleted from the mailing list "magick-developer@imagemagick.org". If you really want this action to be taken, please send the following commands (exactly as shown) back to "Majordomo@imagemagick.org": auth 44b84310 subscribe magick-developer markov@ATComputing.nl If you do not want this action to be taken, simply ignore this message and the request will be disregarded. If your mailer will not allow you to send the entire command as a single line, you may split it using backslashes, like so: auth 44b84310 subscribe magick-developer \ markov@ATComputing.nl If you have any questions about the policy of the list owner, please contact "magick-developer-approval@imagemagick.org". Thanks! Majordomo@imagemagick.org From owner-magick@imagemagick.org Sat Jul 8 13:53 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id NAA02564 for ; Sat, 8 Jul 2000 13:53:33 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id NAA00576 for ; Sat, 8 Jul 2000 13:53:28 +0200 Received: from magick.imagemagick.org(38.220.172.2) by ns.ATComputing.nl via smap (V2.1) id xma000568; Sat, 8 Jul 00 13:53:23 +0200 Received: (from majordomo@localhost) by imagemagick.org (8.9.3/8.9.3) id IAA16219; Sat, 8 Jul 2000 08:21:42 -0400 Date: Sat, 8 Jul 2000 08:21:42 -0400 Message-Id: <200007081221.IAA16219@imagemagick.org> X-Authentication-Warning: magick.imagemagick.org: majordomo set sender to owner-magick@imagemagick.org using -f To: markov@ATComputing.nl From: Majordomo@imagemagick.org Subject: Welcome to magick-developer Reply-To: Majordomo@imagemagick.org Content-Type: text Status: RO Content-Length: 11286 Lines: 274 -- Welcome to the magick-developer mailing list! Please save this message for future reference. Thank you. If you ever want to remove yourself from this mailing list, you can send mail to with the following command in the body of your email message: unsubscribe magick-developer or from another account, besides markov@ATComputing.nl: unsubscribe magick-developer markov@ATComputing.nl If you ever need to get in contact with the owner of the list, (if you have trouble unsubscribing, or have questions about the list itself) send email to . This is the general rule for most mailing lists when you need to contact a human. Here's the general information for the list you've subscribed to, in case you don't already have it: The ImageMagick mailing list (magick@wizards.dupont.com) is a low noise and subject oriented mailing list. The subject is the discussion of ImageMagick software and its use. Although the list is unmoderated, do not post off-topic messages to the list. Off-topic messages will result in the offender being silently removed from the list and prevented from rejoining. Please follow these guidelines when posting or responding to posted messages: 1. postings must be related to ImageMagick, PerlMagick, CineMagick, or WebMagick. Here is an example of what not to post: Does anyone know of a program that converts WWF to JPG on the Mac? Post these to comp.graphics instead. 2. postings should be concise but provide enough detail for readers to discern what the problem is and respond with a solution. Here is an example of what not to post: I downloaded ImageMagick and it doesn't work. What's up? Yes, I have seen these messages. More detail is needed for a proper response. 3. responses should be sent to the author, and not the list, if the response is not of general interest. For example, I'm converting libMagick to a C++ class library. Anyone want to help? Discuss this privately with the author and make a general announcement when you complete your work. 4. Only relevant portions of a message should be quoted. Do not quote the entire message, for example, and give a one line response. 5. Do not post administriva messages such as "How do I unsubscribe from the list?" Instead, see http://www.imagemagick.org/www/magick-list.html for help. 6. Do not post test messages to the list. An archive of all messages posted to the mailing list is available to peruse. See ftp://ftp.wizards.dupont.com/pub/ImageMagick/mailing-list You can also browse or search the archive. See http://marc.theaimsgroup.com/?l=imagemagick&r=1&w=2 * * * ImageMagick is a robust collection of tools and libraries to read, write, and manipulate an image in many image formats (over 68 major formats) including popular formats like TIFF, JPEG, PNG, PDF, Photo CD, and GIF. With ImageMagick you can create images dynamically, making it suitable for Web applications. You can also resize, rotate, sharpen, color reduce, or add special effects to an image and save your completed work in the same or differing image format. Image processing operations are available from the command line, as well as through C, C++, and PERL-based programming interfaces. Here is just a few examples of what ImageMagick can do: Convert an image from one format to another (e.g. TIFF to GIF) Resize, rotate, sharpen, color reduce, or add special effects to an image Create a montage of image tumbnails Create a transparent image suitable for use on the Web Turn a group of images into a GIF animation sequence Create a composite image by combining several separate images Draw shapes or text on an image Decorate an image with a border or frame Describe the format and characteristics of an image You can access ImageMagick functions directly from the command line using the ImageMagick tools convert, mogrify, montage, combine, or identify. Use the display program to interactively manipulate your images or animate an image sequence from a graphical panel. Finally you have access to the various image manipulation methods directly from your favorite application development environment: Perl, C++, C, or Java. These programs and much more are explained by following the links from this page or read the ImageMagick Users Guide. ImageMagick is known to compile and run on virtually any Unix. system and Linux. It also runs under Windows 2000, Windows 95/98, Macintosh, VMS, and OS2. See the install guide for compiling instructions. Pre-compiled binaries are available for some of the more popular operating systems. The offical ImageMagick web page is: http://ww.imagemagick.org/ ImageMagick is available via ftp as ftp://ftp.wizards.dupont.com/pub/ImageMagick Other versions are available as ftp://ftp.wizards.dupont.com/pub/ImageMagick/binaries ftp://ftp.wizards.dupont.com/pub/ImageMagick/mac ftp://ftp.wizards.dupont.com/pub/ImageMagick/nt ftp://ftp.wizards.dupont.com/pub/ImageMagick/vms ftp://ftp.wizards.dupont.com/pub/ImageMagick/linux * * * * * * * * * ImageMagick Tools display Display is a machine architecture independent image and display program. It can display an image on any workstation display running an X server. Display can read and write many of the more popular image formats (e.g. JPEG, TIFF, PNM, Photo CD, etc.). You can perform these functions on the image: o load an image from a file o display the next image o display the former image o display a sequence of images as a slide show o write the image to a file o print the image to a Postscript printer o delete the image file o create a Visual Image Directory o select the image to display by its thumbnail rather than name o undo last image transformation o copy a region of the image o paste a region to the image o restore the image to its original size o refresh the image o half the image size o double the image size o resize the image o crop the image o cut the image o flop image in the horizontal direction o flip image in the vertical direction o rotate the image 90 degrees clockwise o rotate the image 90 degrees counter-clockwise o rotate the image o shear the image o trim the image edges o invert the colors of the image o vary the color brightness o vary the color saturation o vary the image hue o gamma correct the image o sharpen the image contrast o dull the image contrast o perform histogram equalization on the image o perform histogram normalization on the image o negate the image colors o convert the image to grayscale o set the maximum number of unique colors in the image o reduce the speckles within an image o eliminate peak noise from an image o detect edges within the image o emboss an image o oil paint an image o segment the image by color o annotate the image with text o draw on the image o edit an image pixel color o edit the image matte information o composite an image with another o add a border to the image o add an image comment o apply image processing techniques to a region of interest o display information about the image o display information about this program o display image to background of a window o set user preferences o discard all images and exit program o change the level of magnification o display images specified by a World Wide Web (WWW) uniform resource locator (URL) import Import reads an image from any visible window on an X server and outputs it as an image file. You can capture a single window, the entire screen, or any rectangular portion of the screen. You can use display (see display(1)) utility for redisplay, printing, editing, formatting, archiving, image processing, etc. of the captured image. The target window can be specified by id, name, or may be selected by clicking the mouse in the desired window. If you press a button and then drag, a rectangle will form which expands and contracts as the mouse moves. To save the portion of the screen defined by the rectangle, just release the button. The keyboard bell is rung once at the beginning of the screen capture and twice when it completes. animate Animate displays a sequence of images on any workstation display running an X server. Animate first determines the hardware capabilities of the workstation. If the number of unique colors in an image is less than or equal to the number the workstation can support, the image is displayed in an X window. Otherwise the number of colors in the image is first reduced to match the color resolution of the workstation before it is displayed. This means that a continuous-tone 24 bits/pixel image can display on a 8 bit pseudo-color device or monochrome device. In most instances the reduced color image closely resembles the original. Alternatively, a monochrome or pseudo-color image sequence can display on a continuous-tone 24 bits/pixels device. montage Montage creates a composite image by combining several separate images. The images are tiled on the composite image with the name of the image optionally appearing just below the individual tile. convert Convert converts an input file using one image format to an output file with a differing image format. By default, the image format is determined by it's magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify file as - for standard input or output. If file has the extension .Z, the file is decoded with uncompress. mogrify Mogrify transforms an image or a sequence of images. These transforms include image scaling, image rotation, color reduction, and others. The transmogrified image overwrites the original image. identify describes the format and characteristics of one or more image files. It will also report if an image is incomplete or corrupt. The information displayed includes the scene number, the file name, the width and height of the image, whether the image is colormapped or not, the number of colors in the image, the number of bytes in the image, the format of the image (JPEG, PNM, etc.), and finally the number of seconds it took to read and process the image. combine Combine combines images to create new images. From markov@ATComputing.nl Wed Jul 26 13:32:31 2000 Date: Wed, 26 Jul 2000 13:32:31 +0200 From: Mark Overmeer To: Chris Wareham Subject: Re: core dump in simple ImageMagick example Message-ID: <20000726133231.G25170@atcmpg.ATComputing.nl> References: <397C6C6B.989E4BB2@catchword.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <397C6C6B.989E4BB2@catchword.com>; from chris.wareham@catchword.com on Mon, Jul 24, 2000 at 05:18:51PM +0100 Status: RO Content-Length: 2223 Lines: 55 * Chris Wareham (chris.wareham@catchword.com) [000724 18:24]: > *********************************************************************** > This list is being decommissioned. Please join one or more of the new > ImageMagick mailing lists as described at > http://www.imagemagick.org/www/magick-list.html. > *********************************************************************** > > The following snippet of code coew dumps on ReadImage(): > > GetExceptionInfo(&exception); > image_info = CloneImageInfo((ImageInfo *)NULL); > > strcpy(image_info->filename, IMAGEDIR); > strcat(image_info->filename, "/"); > strcat(image_info->filename, filename); > > image = ReadImage(image_info, &exception); > if(image == (Image *)NULL) { > log_error("unable to read image '%s'", filename); > return; > } > > The debugger output is the following: > > Program received signal SIGSEGV, Segmentation fault. > 0x403a0058 in _IO_getc (fp=0x67616d69) at getc.c:39 > 39 getc.c: No such file or directory. > (gdb) bt > #0 0x403a0058 in _IO_getc (fp=0x67616d69) at getc.c:39 > #1 0x4005eb8d in SetImageInfo () from /usr/local/lib/libMagick.so.5 > #2 0x4003c91e in ReadImage () from /usr/local/lib/libMagick.so.5 > #3 0x80491dd in process_image (dbm=0x804bea0, filename=0x806a157 > "00132aac.tif") at tif2png.c:107 > #4 0x8048fd3 in convert_images (args=0xbffff9f4) at tif2png.c:55 > #5 0x8048e6c in main (argc=1, argv=0xbffff9f4) at tif2png.c:21 I have the same problem using PerlMagick 5.2.2 calling ReadImage. However, it is only reproduceable when this statement is included in my huge Perl program with a small IM part, not is a smaller sample as you have. I run Solaris 2.5.1 and all newest image-libs attached. Did you get any useful reply which fixed your problem. Didi you know there is a bug-list: http://www.simplesystems.org/ImageMagick/bugs/ Please let me know. -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Mon Jul 24 18:24 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id SAA27465 for ; Mon, 24 Jul 2000 18:24:10 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id SAA20827 for ; Mon, 24 Jul 2000 18:24:09 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma020823; Mon, 24 Jul 00 18:23:51 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id MAA20883; Mon, 24 Jul 2000 12:23:50 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id MAA01738 for magick-outgoing; Mon, 24 Jul 2000 12:07:32 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-ID: <397C6C6B.989E4BB2@catchword.com> Date: Mon, 24 Jul 2000 17:18:51 +0100 From: Chris Wareham X-Mailer: Mozilla 4.73 [en] (X11; U; Linux 2.2.17pre13 i686) X-Accept-Language: en MIME-Version: 1.0 To: magick@wizards.dupont.com Subject: core dump in simple ImageMagick example Content-Transfer-Encoding: 7bit Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Chris Wareham Content-Type: text/plain; charset=us-ascii Status: RO X-Status: A Content-Length: 1736 Lines: 47 *********************************************************************** This list is being decommissioned. Please join one or more of the new ImageMagick mailing lists as described at http://www.imagemagick.org/www/magick-list.html. *********************************************************************** The following snippet of code coew dumps on ReadImage(): GetExceptionInfo(&exception); image_info = CloneImageInfo((ImageInfo *)NULL); strcpy(image_info->filename, IMAGEDIR); strcat(image_info->filename, "/"); strcat(image_info->filename, filename); image = ReadImage(image_info, &exception); if(image == (Image *)NULL) { log_error("unable to read image '%s'", filename); return; } The debugger output is the following: Program received signal SIGSEGV, Segmentation fault. 0x403a0058 in _IO_getc (fp=0x67616d69) at getc.c:39 39 getc.c: No such file or directory. (gdb) bt #0 0x403a0058 in _IO_getc (fp=0x67616d69) at getc.c:39 #1 0x4005eb8d in SetImageInfo () from /usr/local/lib/libMagick.so.5 #2 0x4003c91e in ReadImage () from /usr/local/lib/libMagick.so.5 #3 0x80491dd in process_image (dbm=0x804bea0, filename=0x806a157 "00132aac.tif") at tif2png.c:107 #4 0x8048fd3 in convert_images (args=0xbffff9f4) at tif2png.c:55 #5 0x8048e6c in main (argc=1, argv=0xbffff9f4) at tif2png.c:21 image_info->filename points to a valid TIFF image, so any ideas as to what gives??? Chris *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From markov@ATComputing.nl Wed Jul 26 13:49:09 2000 Date: Wed, 26 Jul 2000 13:49:09 +0200 From: Mark Overmeer To: Chris Wareham Subject: Re: core dump in simple ImageMagick example Message-ID: <20000726134909.I25170@atcmpg.ATComputing.nl> References: <397C6C6B.989E4BB2@catchword.com> <20000726133231.G25170@atcmpg.ATComputing.nl> <397ECFEF.598EE285@catchword.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <397ECFEF.598EE285@catchword.com>; from chris.wareham@catchword.com on Wed, Jul 26, 2000 at 12:47:59PM +0100 Status: RO Content-Length: 754 Lines: 16 * Chris Wareham (chris.wareham@catchword.com) [000726 13:46]: > > I have the same problem using PerlMagick 5.2.2 calling ReadImage. > This solved my problem with a C based ImageMagick client, but > I don't know whether it is relevant for PerlMagick programs. So: to install IM, I need to have the libs installed. To install the libs, I need IM to be installed for Magic-config.... Ok. Still strange spot to dump core... -- MarkOv %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From chris.wareham@catchword.com Wed Jul 26 13:46 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id NAA29434 for ; Wed, 26 Jul 2000 13:46:33 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id NAA24001 for ; Wed, 26 Jul 2000 13:46:32 +0200 Received: from figaro.catchword.co.uk(194.129.29.1) by ns.ATComputing.nl via smap (V2.1) id xma023999; Wed, 26 Jul 00 13:46:13 +0200 Received: from catchword.com (valkyrie.catchword.co.uk [194.129.29.105]) by figaro.catchword.co.uk (8.9.2/8.9.2) with ESMTP id LAA10217 for ; Wed, 26 Jul 2000 11:49:37 GMT Sender: cwareham@figaro.catchword.co.uk Message-ID: <397ECFEF.598EE285@catchword.com> Date: Wed, 26 Jul 2000 12:47:59 +0100 From: Chris Wareham X-Mailer: Mozilla 4.74 [en] (X11; U; Linux 2.2.17pre13 i686) X-Accept-Language: en MIME-Version: 1.0 To: Mark Overmeer Subject: Re: core dump in simple ImageMagick example References: <397C6C6B.989E4BB2@catchword.com> <20000726133231.G25170@atcmpg.ATComputing.nl> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii Status: RO X-Status: A Content-Length: 882 Lines: 26 Mark Overmeer wrote: > > I have the same problem using PerlMagick 5.2.2 calling ReadImage. > However, it is only reproduceable when this statement is included in > my huge Perl program with a small IM part, not is a smaller sample > as you have. > > I run Solaris 2.5.1 and all newest image-libs attached. > > Did you get any useful reply which fixed your problem. > Didi you know there is a bug-list: > http://www.simplesystems.org/ImageMagick/bugs/ > > Please let me know. > I wasn't passing all the required compiler flags when building my program. I had looked at the output of Magick-config, and simply copied the library dependencies into a Makefile. To successfully build, ImageMagick clients also need the correct CFLAGS arguments, etc. This solved my problem with a C based ImageMagick client, but I don't know whether it is relevant for PerlMagick programs. Chris From markov@ATComputing.nl Mon Aug 7 11:38:44 2000 Date: Mon, 7 Aug 2000 11:38:44 +0200 From: Mark Overmeer To: Bryan Burchette Subject: Re: Core Dump on ReadImage Message-ID: <20000807113844.A22119@atcmpg.ATComputing.nl> References: <4.3.1.0.20000801154753.00ae3ed0@mindspring.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre4i In-Reply-To: <4.3.1.0.20000801154753.00ae3ed0@mindspring.com>; from blburch@mindspring.com on Tue, Aug 01, 2000 at 03:54:42PM -0400 Status: RO Content-Length: 1041 Lines: 24 (I was away for holidays last week, so not able to response earlier) * Bryan Burchette (blburch@mindspring.com) [000801 22:37]: > I am using ImageMagick 5.2.2 and for testing puposes I am using the little > test program on the website under the API section. No matter what I do, the > program cores on ReadImage(). > Current function is main > 33 image=ReadImage(image_info,&exception); I located the problem in the getc() of ReadImage using PerlMagick. I did not succeed in creating a reduced sized example for my program which reproduces the problem, so I'm glad I'm not the only one with this problem. Is there are more clarity on the cause of the crash? Any response from the developers? -- Mark Overmeer %-] ------------------------------------------------------------------------ drs Mark A.C.J. Overmeer markov@ATComputing.nl AT Computing, UNIX Training and Consultancy http://www.ATComputing.nl http://www.dhp.nl/~markov/ http://satfoto.dhp.nl From magick-owner@unca-don.wizards.dupont.com Tue Aug 1 22:37 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id WAA14913 for ; Tue, 1 Aug 2000 22:37:13 +0200 (MET DST) Received: (from nobody@localhost) by ns.ATComputing.nl (8.8.8/8.8.8) id WAA04892 for ; Tue, 1 Aug 2000 22:37:12 +0200 Received: from viper.oldcity.dca.net(216.158.38.4) by ns.ATComputing.nl via smap (V2.1) id xma004890; Tue, 1 Aug 00 22:37:04 +0200 Received: from unca-don.wizards.dupont.com ([204.183.81.133]) by viper.oldcity.dca.net (8.9.3/8.9.3/DCANET) with ESMTP id QAA28454; Tue, 1 Aug 2000 16:36:07 -0400 Received: (from majordomo@localhost) by unca-don.wizards.dupont.com (8.9.3/8.9.3) id PAA24962 for magick-outgoing; Tue, 1 Aug 2000 15:46:55 -0400 (EDT) X-Authentication-Warning: unca-don.wizards.dupont.com: majordomo set sender to owner-magick@wizards.dupont.com using -f Message-Id: <4.3.1.0.20000801154753.00ae3ed0@mindspring.com> X-Sender: blburch@mindspring.com X-Mailer: QUALCOMM Windows Eudora Version 4.3.1 Date: Tue, 01 Aug 2000 15:54:42 -0400 To: magick@wizards.dupont.com From: Bryan Burchette Subject: Core Dump on ReadImage Mime-Version: 1.0 Sender: owner-magick@wizards.dupont.com Precedence: bulk Reply-To: Bryan Burchette Content-Type: text/plain; charset="us-ascii"; format=flowed Status: RO X-Status: A Content-Length: 2042 Lines: 55 *********************************************************************** This list is being decommissioned. Please join one or more of the new ImageMagick mailing lists as described at http://www.imagemagick.org/www/magick-list.html. *********************************************************************** Hey List, This has me stumped! Maybe I am just missing something really obvious. I am using ImageMagick 5.2.2 and for testing puposes I am using the little test program on the website under the API section. No matter what I do, the program cores on ReadImage(). This is the program I am using to test: http://www.wizards.dupont.com/cristy/www/api.html I have pointed the MagickIncarnate() function to the appropriate directory on my box. Does anybody have any ideas?? What could I be doing wrong. Here is my ouput from DBX (dbx) step stopped in main at line 29 in file "test.c" 29 GetExceptionInfo(&exception); (dbx) where =>[1] main(argc = 1, argv = 0xeffff3c4 "\xef\xff\xf5^H"), line 29 in "test.c" (dbx) step stopped in main at line 30 in file "test.c" 30 image_info=CloneImageInfo((ImageInfo *) NULL); (dbx) step stopped in main at line 31 in file "test.c" 31 (void) strcpy(image_info->filename,"test.jpg"); (dbx) step stopped in main at line 32 in file "test.c" 32 printf("iamge_info->filename is %s\n",image_info->filename); (dbx) step iamge_info->filename is test.jpg stopped in main at line 33 in file "test.c" 33 image=ReadImage(image_info,&exception); (dbx) step signal SEGV (no mapping at the fault address) in getc at 0xef267b24 0xef267b24: getc+0x0024: ld [%i0], %o0 Current function is main 33 image=ReadImage(image_info,&exception); *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@wizards.dupont.com Include the following command in the body of your message: unsubscribe magick *********************************************************************** From magick-owner@imagemagick.org Wed Oct 4 19:56 MET 2000 Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id TAA26427 for ; Wed, 4 Oct 2000 19:56:00 +0200 (MET DST) Received: from imagemagick.org (magick.imagemagick.org [38.220.172.2]) by ns.ATComputing.nl (Postfix) with ESMTP id 84B2DED32 for ; Wed, 4 Oct 2000 19:55:58 +0200 (CEST) Received: (from majordomo@localhost) by imagemagick.org (8.11.0.Beta3/8.9.3) id e94IMj420302 for magick-developer-outgoing; Wed, 4 Oct 2000 14:22:45 -0400 X-Authentication-Warning: magick.imagemagick.org: majordomo set sender to owner-magick@imagemagick.org using -f From: cristy@mystic.es.dupont.com Date: Wed, 4 Oct 2000 14:22:35 -0400 (EDT) Message-Id: <200010041822.e94IMZr19712@mystic.es.dupont.com> To: magick-developer@imagemagick.org Subject: Font metrics Sender: owner-magick@imagemagick.org Precedence: bulk Reply-To: cristy@mystic.es.dupont.com Content-Type: text Status: RO Content-Length: 1620 Lines: 32 The problem with general font metrics in ImageMagick is that there are four schemes for obtaining fonts FreeType 1, FreeType 2, Postscript/Ghostscript fonts, and X11 fonts. Freetype returns plenty of information associated with font metrics. I know of no way to get the font metrics from Ghostscript and X11 fonts returns metrics but they do not exactly match the information returned by Freetype. Layered on top of that is the fonts can be manipulated with an affine matrix with varying results for the different font schemes. Currently I write fonts to an image that bounds the font and turn all pixels not covered by the font lettering to transparent then composite this on top of the image being annotated. The only metrics available now are the maximum font height and string width. In Perl, for example, use $font->Read('label:This is a test'); ($width,$height)=$font->Get('width','height'); I can certainly include other metric information as well but how to do this consistently for all font schemes? Perhaps I could retain the font metrics for Freetype fonts only? Or can you think of a few specific font metrics that would be useful to you that we can get for FreeType, X11, and Postscript fonts? What is a minimal set of font metrics you need to make annotating more useable? *********************************************************************** To remove yourself from this mailing list, send mail to: majordomo@imagemagick.org Include the following command in the body of your message: unsubscribe magick-developer *********************************************************************** Mail-Box-4.01/t/107mbox-update.t0000644000175000001440000000207615117245043016700 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test appending messages on Mbox folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Manager; use Test::More tests => 4; use File::Copy; # # We will work with a copy of the original to avoid that we write # over our test file. # copy $src, $cpy or die "Cannot create test folder $cpy: $!\n"; my $mgr = Mail::Box::Manager->new; my @fopts = ( lock_type => 'NONE' , extract => 'LAZY' , access => 'rw' , save_on_exit => 0 ); my $folder = $mgr->open ( folder => "=$cpyfn" , folderdir => $workdir , @fopts ) or die "Couldn't read $cpy: $!\n"; cmp_ok $folder->messages, "==", 45; my $msg = Mail::Message->build ( From => 'me', To => 'you', Subject => 'Hello!' , data => [ "one line\n" ] ); ok defined $msg; my $filename = $folder->filename; open my $out, '>>', $filename or die "Cannot open $filename: $!"; $out->print($msg->head->createFromLine); $msg->print($out); $out->close; cmp_ok $folder->messages, "==", 45; $folder->update; cmp_ok $folder->messages, "==", 46; $folder->close; Mail-Box-4.01/t/110mh-read.t0000644000175000001440000000763615117245043015771 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test reading of MH folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::MH; use Mail::Box::Mbox; use Test::More tests => 27; use File::Compare; use File::Copy; my $mhsrc = File::Spec->catfile($workdir, 'mh.src'); unpack_mbox2mh($src, $mhsrc); ok(Mail::Box::MH->foundIn($mhsrc)); my $folder = new Mail::Box::MH ( folder => $mhsrc , lock_type => 'NONE' , extract => 'LAZY' , access => 'rw' ); ok(defined $folder); # We skipped message number 13 in the production, but that shouldn't # distrub things. cmp_ok($folder->messages, "==", 45); is($folder->organization, 'DIRECTORY'); # # No single head should be read now, because extract == LAZY # the default. # my $heads = 0; foreach ($folder->messages) { $heads++ unless $_->head->isDelayed; } cmp_ok($heads, "==", 0); # # Loading a header should not be done unless really necessary. # my $message = $folder->message(7); ok($message->head->isDelayed); ok($message->filename); # already known, but should not trigger header ok($message->head->isDelayed); # # Nothing should be parsed yet # my $parsed = 0; foreach ($folder->messages) { $parsed++ if $_->isParsed; } cmp_ok($parsed, "==", 0); # # Trigger one message to get read. # ok($message->body->string); # trigger body loading. ok($message->isParsed); # # Test taking header # $message = $folder->message(8); ok(defined $message->head->get('subject')); ok(not $message->isParsed); is(ref $message->head, 'Mail::Message::Head::Complete'); # This shouldn't cause any parsings: we do lazy extract, but Mail::Box # will always take the `Subject' header for us. my @subjects = map { chomp; $_ } map {$_->head->get('subject') || '' } $folder->messages; $parsed = 0; $heads = 0; foreach ($folder->messages) { $parsed++ unless $_->isDelayed; $heads++ unless $_->head->isDelayed; } cmp_ok($parsed, "==", 1); # message 7 cmp_ok($heads, "==", 45); # # The subjects must be the same as from the original Mail::Box::Mbox # There are some differences with new-lines at the end of headerlines # my $mbox = Mail::Box::Mbox->new ( folder => $src , folderdir => 't' , lock_type => 'NONE' , access => 'r' ); my @fsubjects = map { chomp; $_ } map {$_->head->get('subject') || ''} $mbox->messages; my (%subjects); $subjects{$_}++ foreach @subjects; $subjects{$_}-- foreach @fsubjects; my $missed = 0; foreach (keys %subjects) { $missed++ if $subjects{$_}; warn "Still left: $_ ($subjects{$_}x)\n" if $subjects{$_}; } ok(!$missed); # # Check if we can read a body. # my $msg3 = $folder->message(3); my $body = $msg3->body; ok(defined $body); cmp_ok(@$body, "==", 42); # check expected number of lines in message 4. $folder->close; # # Now with partially lazy extract. # my $parse_size = 5000; $folder = new Mail::Box::MH ( folder => $mhsrc , folderdir => 't' , lock_type => 'NONE' , extract => $parse_size # messages > $parse_size bytes stay unloaded. , access => 'rw' ); ok(defined $folder); cmp_ok($folder->messages, "==", 45); $parsed = 0; $heads = 0; my $mistake = 0; foreach ($folder->messages) { $parsed++ unless $_->isDelayed; $heads++ unless $_->head->isDelayed; $mistake++ if !$_->isDelayed && $_->size > $parse_size; } ok(not $mistake); ok(not $parsed); ok(not $heads); foreach (5..13) { $folder->message($_)->head->get('subject'); } $parsed = 0; $heads = 0; $mistake = 0; foreach ($folder->messages) { $parsed++ unless $_->isDelayed; $heads++ unless $_->head->isDelayed; $mistake++ if !$_->isDelayed && $_->body->size > $parse_size; } ok(not $mistake); cmp_ok($parsed , "==", 7); cmp_ok($heads , "==", 9); # No clean-dir: see how it behaves when the folder is not explictly # closed before the program terminates. Terrible things can happen # during auto-cleanup #clean_dir $mhsrc; Mail-Box-4.01/t/112mh-append.t0000644000175000001440000000331715117245043016317 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test appending messages on MH folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Manager; use Mail::Message::Construct; use Test::More tests => 10; use File::Compare; use File::Copy; my $mhsrc = File::Spec->catfile($workdir, 'mh.src'); unpack_mbox2mh($src, $mhsrc); my $mgr = Mail::Box::Manager->new; my $folder = $mgr->open ( folder => $mhsrc , lock_type => 'NONE' , extract => 'LAZY' , access => 'rw' , save_on_exit => 0 ); die "Couldn't read $mhsrc: $!\n" unless $folder; # We checked this in other scripts before, but just want to be # sure we have enough messages again. cmp_ok($folder->messages, "==", 45); # Add a message which is already in the opened folder. However, the # message heads are not yet parsed, hence the message can not be # ignored. my $message3 = $folder->message(3); ok($message3->isDelayed); my $added = $message3->clone; ok(!$message3->isDelayed); $folder->addMessage($added); cmp_ok($folder->messages, "==", 45); ok(not $message3->deleted); ok($added->deleted); # # Create an Mail::Message and add this to the open folder. # my $msg = Mail::Message->build ( From => 'me@example.com' , To => 'you@anywhere.aq' , Subject => 'Just a try' , data => [ "a short message\n", "of two lines.\n" ] ); $mgr->appendMessage($mhsrc, $msg); cmp_ok($folder->messages, "==", 46); cmp_ok($mgr->openFolders, "==", 1); $mgr->close($folder); # changes are not saved. cmp_ok($mgr->openFolders, "==", 0); $mgr->appendMessage($mhsrc, $msg , lock_type => 'NONE' , extract => 'LAZY' , access => 'rw' , keep_index => 1 ); ok(-f File::Spec->catfile($mhsrc, "47")); # skipped 13, so new is 46+1 Mail-Box-4.01/t/101mbox-write.t0000644000175000001440000000276615117245043016550 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test writing of mbox folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Mbox; use Test::More; use File::Compare; use File::Copy; # # We will work with a copy of the original to avoid that we write # over our test file. # unlink $cpy; copy $src, $cpy or die "Cannot create test folder $cpy: $!\n"; my $folder = Mail::Box::Mbox->new( folder => "=$cpyfn", folderdir => $workdir, lock_type => 'NONE', extract => 'ALWAYS', access => 'rw', ) or die "Couldn't read $cpy: $!\n"; # # None of the messages should be modified. # my $modified = 0; $modified ||= $_->modified for $folder->messages; ok !$modified, 'opened, not modified'; # # Write unmodified folder to different file. # Because file-to-file copy of unmodified messages, the result must be # the same. # $folder->modified(1); # force write ok $folder->write(policy => 'REPLACE'); # Try to read it back my $copy = Mail::Box::Mbox->new( folder => "=$cpyfn", folderdir => $workdir, lock_type => 'NONE', extract => 'ALWAYS', ); ok $copy, 'Opened copy again'; cmp_ok $folder->messages, "==", $copy->messages, 'same nr messages after write'; # Check also if the subjects are the same. my @folder_subjects = sort map {$_->head->get('subject')||''} $folder->messages; my @copy_subjects = sort map {$_->head->get('subject')||''} $copy->messages; while(@folder_subjects) { last unless shift(@folder_subjects) eq shift(@copy_subjects); } ok !@folder_subjects; done_testing; Mail-Box-4.01/t/303manager-collect.t0000644000175000001440000001140215117245043017477 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Collecting folders, without opening them use strict; use warnings; use Mail::Box::Test; use Mail::Box::Manage::User; use Mail::Box::MH; use Test::More tests => 72; my @boxes = qw( a1 a1/b1 a1/b2 a1/b2/c1 a1/b2/c2 a1/b2/c3 a1/b2/c3/d1 a1/b2/c3/d2 a1/b3 a2 a3 ); # Create the directory hierarchy my $top = File::Spec->catdir($workdir,'collect-test.tmp'); mkdir $top or die "$top: $!"; foreach my $box (@boxes) { my $dir = "$top/$box"; mkdir $dir or die "$dir: $!"; } # Now create the user my $id = User::Identity->new('markov'); ok(defined $id, "Identity created"); isa_ok($id, 'User::Identity'); my $user = Mail::Box::Manage::User->new ( folderdir => $top , identity => $id , default_folder_type => 'mh' ); ok(defined $user, "User manager created"); isa_ok($user, "Mail::Box::Manager"); isa_ok($user, "Mail::Box::Manage::User"); is($user->defaultFolderType, 'Mail::Box::MH'); # Let's check the list of folders my $f = $user->topfolder; isa_ok($f, 'Mail::Box::Identity'); is($f->folderType, 'Mail::Box::MH'); is($f->location, $top); is($f->manager, $user); ok(! $f->onlySubfolders, "MH toplevel"); ok(!defined $f->collection('subfolders'), "Laziness"); my @subnames = sort $f->subfolderNames; ok(defined $f->collection('subfolders'), "loaded"); cmp_ok(scalar(@subnames), '==', 3, "Subfolder names found"); is($subnames[0], 'a1'); is($subnames[1], 'a2'); is($subnames[2], 'a3'); my @subs = sort {$a->name cmp $b->name} $f->subfolders; cmp_ok(scalar(@subs), '==', 3, "Subfolders found"); my $a1 = $subs[0]; isa_ok($a1, 'Mail::Box::Identity'); is($a1->name, 'a1'); is($a1->fullname, '=/a1'); is($a1->location, "$top/a1"); is($subs[1]->name, 'a2'); is($subs[1]->fullname, '=/a2'); is($subs[2]->name, 'a3'); is($subs[2]->fullname, '=/a3'); isa_ok($f, 'User::Identity::Item'); # One nested ok(!defined $a1->collection('subfolders'), "Laziness of a1"); my @a1names = sort $a1->subfolderNames; ok(defined $a1->collection('subfolders'), "loaded"); cmp_ok(scalar(@a1names), '==', 3, "Subfolders a1 found"); is($a1names[0], 'b1'); is($a1names[1], 'b2'); is($a1names[2], 'b3'); my @a1subs = sort {$a->name cmp $b->name} $a1->subfolders; cmp_ok(scalar(@a1subs), '==', 3, "Subfolders found"); is($a1subs[1]->fullname, '=/a1/b2'); my @a1subs2 = $a1->subfolders->sorted; ok(eq_array(\@a1subs, \@a1subs2), "Auto-sort"); # get a subfolder at once my $l0 = $f->folder(); ok(defined $l0, "Subfolder top"); isa_ok($l0, 'Mail::Box::Identity'); is($l0->fullname, "="); is($l0->topfolder->name, '='); my $l1 = $f->folder('a2'); ok(defined $l1, "Subfolder level 1"); isa_ok($l1, 'Mail::Box::Identity'); is($l1->fullname, "=/a2"); is($l1->topfolder->name, '='); ok(!defined $f->folder('xx'), "Subfolder level 1 fail"); my $l2 = $f->folder('a1', 'b3'); ok(defined $l2, "Subfolder level 2"); is($l2->fullname, "=/a1/b3"); is($l2->topfolder->name, '='); my $l4 = $f->folder('a1', 'b2', 'c3', 'd1'); ok(defined $l4, "Subfolder level 4"); isa_ok($l4, 'Mail::Box::Identity'); is($l4->fullname, "=/a1/b2/c3/d1"); is($l4->topfolder->name, '='); ok(! defined$f->folder('a1', 'b3', 'xx', 'yy'), "Subfolder level 3 fail"); # Walk the tree my $count = 0; $f->foreach( sub {$count++} ); cmp_ok($count, '==', @boxes+1, "Walk the tree"); # +1 for top folder my @all; sub catch_fn($) { my $fn = $_[0]->fullname; return if $fn eq '='; $fn =~ s!^\=/!!; push @all, $fn; } $f->foreach(\&catch_fn); ok(eq_array(\@all, \@boxes), "Walk alphabetically"); # # Test remove # my $c3 = $f->folder('a1', 'b2')->remove('c3'); ok(defined $c3, "Remove c3, found"); isa_ok($c3, 'Mail::Box::Identity'); is($c3->name, "c3"); my $c3d = $f->folder('a1', 'b2', 'c3'); ok(!defined $c3d); my @a1b2names = sort $f->folder('a1', 'b2')->subfolderNames; cmp_ok(scalar(@a1b2names), '==', 2, "parent still exists"); is($a1b2names[0], 'c1'); is($a1b2names[1], 'c2'); # # Test rename # my $x = $f->folder('a1', 'b2', 'c1'); ok(defined $x, "a1/b2/c1 exists"); my $dest = $f->folder('a3'); ok(defined $dest, "a3 exists"); my $y = $x->rename($dest, 'b8'); ok(defined $y, "rename successful"); isa_ok($y, 'Mail::Box::Identity'); is($y->name, 'b8'); is($x->name, 'b8'); is($y->parent->parent->name, 'a3'); is($y->fullname, '=/a3/b8'); is($y->fullname('#'), '=#a3#b8'); is($y->location, "$top/a3/b8"); Mail-Box-4.01/t/103mbox-append.t0000644000175000001440000000655615117245043016670 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test appending messages on Mbox folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Manager; use Mail::Message::Construct; use Test::More tests => 32; use File::Compare; use File::Copy; # # We will work with a copy of the original to avoid that we write # over our test file. # my $empty = File::Spec->catfile($workdir, 'empty'); copy $src, $cpy or die "Cannot create test folder $cpy: $!\n"; unlink $empty; my $mgr = Mail::Box::Manager->new; my @fopts = ( lock_type => 'NONE' , extract => 'LAZY' , access => 'rw' , save_on_exit => 0 ); my $folder = $mgr->open ( folder => "=$cpyfn" , folderdir => $workdir , @fopts ); die "Couldn't read $cpy: $!\n" unless $folder; cmp_ok($folder->messages, "==", 45); # Add a message which is already in the opened folder. This should # be ignored. $folder->addMessage($folder->message(3)->clone); cmp_ok($folder->messages, "==", 45); # # Create an Mail::Message and add this to the open folder. # my $msg = Mail::Message->build ( From => 'me@example.com' , To => 'you@anywhere.aq' , Subject => 'Just a try' , data => [ "a short message\n", "of two lines.\n" ] ); ok(defined $msg, "message build successful"); my @appended = $mgr->appendMessage("=$cpyfn", $msg); cmp_ok($folder->messages, "==", 46, "message extends folder"); cmp_ok(scalar @appended, "==", 1, "coerced message returned"); isa_ok($appended[0], 'Mail::Box::Message'); cmp_ok($mgr->openFolders, "==", 1); $mgr->close($folder); cmp_ok($mgr->openFolders, "==", 0, "folder is closed"); my $msg2 = Mail::Message->build ( From => 'me_too@example.com' , To => 'yourself@anywhere.aq' , Subject => 'Just one more try' , data => [ "a short message\n", "of two lines.\n" ] ); my $old_size = -s $cpy; @appended = $mgr->appendMessage($cpy, $msg2 , lock_type => 'NONE' , extract => 'LAZY' , access => 'rw' ); cmp_ok(@appended, "==", 1); cmp_ok($mgr->openFolders, "==", 0); ok($old_size != -s $cpy); $folder = $mgr->open ( folder => "=$cpyfn" , folderdir => $workdir , @fopts , access => 'rw' ); ok($folder); cmp_ok($folder->messages, "==", 47); my $sec = $mgr->open ( folder => '=empty' , folderdir => $workdir , @fopts , create => 1 ); ok(defined $sec, "open newly created empty folder"); exit unless defined $sec; cmp_ok($sec->messages, "==", 0, "no messages in new folder"); cmp_ok($mgr->openFolders, "==", 2, "but the manager knows it is created"); my $move = $folder->message(1); ok(defined $move, "select a message to be moved"); my @moved = $mgr->moveMessage($sec, $move); cmp_ok(@moved, "==", 1, "one message has been moved"); isa_ok($moved[0], 'Mail::Box::Message'); is($moved[0]->folder->name, $sec->name); ok($move->deleted); cmp_ok($folder->messages, "==", 47); cmp_ok($sec->messages, "==", 1); my $copy = $folder->message(2); ok(defined $copy); die unless defined $copy; my @copied = $mgr->copyMessage($sec, $copy); cmp_ok(@copied, "==", 1); isa_ok($copied[0], 'Mail::Box::Message'); ok(!$copy->deleted); cmp_ok($folder->messages, "==", 47); cmp_ok($sec->messages, "==", 2); ok($sec->modified); $folder->close; $sec->close; ok(-f $empty); ok(-s $empty); unlink $empty; Mail-Box-4.01/t/202folder-tiehash.t0000644000175000001440000000257415117245043017350 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test access to folders using ties on hashes. # use strict; use warnings; use Mail::Box::Mbox (); use Mail::Box::Tie::HASH (); use Mail::Message::Construct (); use Mail::Box::Test; use Test::More; # # The folder is read. # my $folder = Mail::Box::Mbox->new( folder => $src, folderdir => 't', lock_type => 'NONE', extract => 'ALWAYS', access => 'r', ); ok(defined $folder); tie my(%folder), 'Mail::Box::Tie::HASH', $folder; cmp_ok(keys %folder , "==", 45); ok(! defined $folder{not_existing}); my @keys = keys %folder; foreach (@keys) { ok(defined $folder{$_}); my $msg = $folder{$_}; is($folder{$_}->messageID, $_); } my $msg = $folder->message(4); my $msgid = $msg->messageID; is($msg, $folder{$msgid}); # delete $folder[2]; works for 5.6, but not for 5.5 ok(!$folder->message(4)->deleted); cmp_ok(keys %folder , "==", 45); $folder{$msgid}->delete; ok($folder->message(4)->deleted); cmp_ok(keys %folder , "==", 44); # Double messages will not be added. { no warnings 'uninitialized'; $folder{ (undef) } = $folder{$msgid}->clone; } cmp_ok(keys %folder , "==", 44); # Different message, however, will be added. my $newmsg = Mail::Message->build(data => [ 'empty' ]); $folder{undef} = $newmsg; cmp_ok($folder->messages , "==", 46); cmp_ok(keys %folder , "==", 45); $folder->close(write => 'NEVER'); done_testing; Mail-Box-4.01/t/210threads-single.t0000644000175000001440000000034015117245043017347 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test threads over multi-folders. # use strict; use warnings; use Mail::Box::Test; use Test::More tests => 1; #use Mail::Box::Manager; pass(" * Multi-folder threads status ALPHA (not tested)"); Mail-Box-4.01/t/220search-grep.t0000644000175000001440000002120115117245043016636 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test searching with grep # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Manager; use Mail::Box::Search::Grep; use Test::More tests => 58; use IO::Scalar; use File::Copy; copy $src, $cpy or die "Cannot create test folder $cpy: $!\n"; my $mgr = Mail::Box::Manager->new; my $folder = $mgr->open($cpy, lock_type => 'NONE'); ok(defined $folder, 'open folder'); cmp_ok($folder->messages , "==", 45, 'folder full of messages'); # # Simple search in body # my $output= ''; my $fh = IO::Scalar->new(\$output) or die "Cannot create an IO::Scalar: $!"; my $oldfh = select $fh; my $grep1 = Mail::Box::Search::Grep->new ( match => 'However' , in => 'BODY' , deliver => 'PRINT' ); $grep1->search($folder); $fh->close; select $oldfh; $output =~ s!\Q$workdir\E!t/folders!g; $output =~ s#\\#/#g; # windows is($output, <<'EXPECTED', 'search for However'); t/folders/mbox.cpy, message 8: Resize with Transparency 21: However, ImageMagick (ImageMagick 4.2.7, PerlMagick 4.27 on Linux) t/folders/mbox.cpy, message 38: Re: core dump in simple ImageMagick example 38: However, it is only reproduceable when this statement is included in t/folders/mbox.cpy, message 41: Re: core dump in simple ImageMagick example 4: > However, it is only reproduceable when this statement is included in EXPECTED undef $grep1; # # search in head with limit # $output = ''; $fh = IO::Scalar->new(\$output) or die $!; select $fh; my $grep2 = Mail::Box::Search::Grep->new ( match => 'atcmpg' , in => 'HEAD' , limit => -4 , deliver => 'PRINT' ); my @m2 = $grep2->search($folder); $fh->close; select $oldfh; cmp_ok(@m2, "==", 4); my $last = shift @m2; foreach (@m2) { ok($last->seqnr < $_->seqnr, 'messages ordered'); $last = $_; } # messages are reversed ordered here, but in order returned: looking # backwards in the folder file. $output =~ s!\Q$workdir\E!t/folders!g; $output =~ s#\\#/#g; # windows is($output, <<'EXPECTED', 'search result atcmp in head'); t/folders/mbox.cpy, message 44: Font metrics Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id TAA26427 for ; Wed, 4 Oct 2000 19:56:00 +0200 (MET DST) t/folders/mbox.cpy, message 43: Core Dump on ReadImage Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id WAA14913 for ; Tue, 1 Aug 2000 22:37:13 +0200 (MET DST) t/folders/mbox.cpy, message 42: Re: Core Dump on ReadImage Message-ID: <20000807113844.A22119@atcmpg.ATComputing.nl> t/folders/mbox.cpy, message 41: Re: core dump in simple ImageMagick example Received: from ns.ATComputing.nl (ns.ATComputing.nl [195.108.229.25]) by atcmpg.ATComputing.nl (8.9.0/8.9.0) with ESMTP id NAA29434 for ; Wed, 26 Jul 2000 13:46:33 +0200 (MET DST) References: <397C6C6B.989E4BB2@catchword.com> <20000726133231.G25170@atcmpg.ATComputing.nl> EXPECTED undef $grep2; # # Test regexp search # my @hits; my $grep3 = Mail::Box::Search::Grep->new ( match => qr/ImageMagick/ , in => 'MESSAGE' , deliver => \@hits ); my @m3 = $grep3->search($folder); #warn $_.": ".$_->subject, "\n" for @m3; cmp_ok(@m3, "==", 24, 'messages with ImageMagick'); cmp_ok(@hits, "==", 60, 'hits on ImageMagick'); $last = shift @m3; my %m3 = ($last->seqnr => 1); foreach (@m3) # in order? { ok($last->seqnr < $_->seqnr, 'messages ordered'); $m3{$_->seqnr}++; $last = $_; } cmp_ok(keys %m3, "==", 24, 'returned message unique'); my %h3 = map +($_->{message}->seqnr => 1), @hits; cmp_ok(keys %h3, "==", 24, 'returned hits in the messages'); undef $grep3; # # Test regexp search with case-ignore # @hits = (); my $grep4 = Mail::Box::Search::Grep->new ( match => qr/ImageMagick/i , in => 'MESSAGE' , deliver => \@hits ); my @m4 = $grep4->search($folder); cmp_ok(@m4, "==", 28, 'messages with /ImageMagick/i'); cmp_ok(@hits, "==", 102, 'hits with /ImageMagick/i'); undef $grep4; # # Test regexp search with case-ignore and some deleted messages # @hits = (); $folder->message($_)->delete(1) for 3, 6, 8, 9, 11, 13, 23, 33; my $grep5 = Mail::Box::Search::Grep->new ( match => qr/ImageMagick/i , in => 'MESSAGE' , deliver => \@hits ); my @m5 = $grep5->search($folder); cmp_ok(@m5, "==", 22, 'msgs, search excludes deleted'); cmp_ok(@hits, "==", 89, 'hits, search excludes deleted'); undef $grep5; # Include-deleted @hits = (); my $grep6 = Mail::Box::Search::Grep->new ( match => qr/ImageMagick/i , in => 'MESSAGE' , deleted => 1 , deliver => \@hits ); my @m6 = $grep6->search($folder); cmp_ok(@m6, "==", 28, 'msgs, search includes deleted'); cmp_ok(@hits, "==", 102, 'hits, search includes deleted'); undef $grep6; # only in header @hits = (); my $grep7 = Mail::Box::Search::Grep->new ( match => qr/ImageMagick/i , in => 'HEAD' , deliver => \@hits ); my @m7 = $grep7->search($folder); cmp_ok(@m7, "==", 11, 'msgs, /ImageMagick/i in head'); cmp_ok(@hits, "==", 27, 'hits, /ImageMagick/i in head'); undef $grep7; # only in body @hits = (); my $grep8 = Mail::Box::Search::Grep->new ( match => qr/ImageMagick/i , in => 'BODY' , deliver => \@hits ); my @m8 = $grep8->search($folder); cmp_ok(@m8, "==", 20, 'msgs, /ImageMagick/i in body'); cmp_ok(@hits, "==", 62, 'hits, /ImageMagick/i in body'); cmp_ok($grep8->search($folder), "==", 20, 'search returns msgs in scalar'); undef $grep8; # only test for match: stops at first hit my $grep9 = Mail::Box::Search::Grep->new ( match => qr/ImageMagick/i , in => 'BODY' ); cmp_ok($grep9->search($folder), "==", 1, 'no deliver, then only find one'); undef $grep9; # # Search in thread # undef $output; $fh = IO::Scalar->new(\$output) or die $!; select $fh; my $grep10 = Mail::Box::Search::Grep->new ( match => 'ImageMagick' , in => 'BODY' , deliver => 'PRINT' ); my $t = $mgr->threads($folder); my $start = $t->threadStart($folder->message(25)); #isa multipart my @msgs = $start->threadMessages; cmp_ok(@msgs, "==", 2, 'messages in thread'); ok($grep10->search($start), 'found in thread'); $output =~ s!\Q$workdir\E!t/folders!g; $output =~ s#\\#/#g; # windows is($output, <<'EXPECTED', 'result search in thread'); t/folders/mbox.cpy, message 26: Re: your mail 13: Are you using ImageMagick 5.2.0? When I used the script I sent the t/folders/mbox.cpy, message 25: Re: your mail p 19: > Are you using ImageMagick 5.2.0? When I used the script I sent the EXPECTED my @m10 = $grep10->search(\@msgs); cmp_ok(@m10, "==", 2, 'messages found in list'); cmp_ok($m10[0], "==", $msgs[0]); cmp_ok($m10[1], "==", $msgs[1]); $fh->close; select $oldfh; undef $grep10; # Without multipart undef $output; $fh = IO::Scalar->new(\$output) or die $!; select $fh; my $grep11 = Mail::Box::Search::Grep->new ( match => 'ImageMagick' , in => 'BODY' , deliver => 'PRINT' , multiparts => 0 ); my @m11 = $grep11->search($start); cmp_ok(@m11, "==", 1, 'do not search multiparts'); $fh->close; select $oldfh; $output =~ s!\Q$workdir\E!t/folders!g; $output =~ s#\\#/#g; # windows is($output, <<'EXPECTED', 'not in multipart'); t/folders/mbox.cpy, message 26: Re: your mail 13: Are you using ImageMagick 5.2.0? When I used the script I sent the EXPECTED undef $grep11; # # Check search in encoded part # my $msg = $folder->messageId('8172.960997992@mystic'); ok($msg); undef $output; $fh = IO::Scalar->new(\$output) or die $!; select $fh; my $grep12 = Mail::Box::Search::Grep->new ( match => 'pointsize' , in => 'MESSAGE' , binaries => 1 , deliver => 'PRINT' ); my @m12 = $grep12->search($msg); cmp_ok(@m12, "==", 1, 'search binaries'); $fh->close; select $oldfh; $output =~ s!\Q$workdir\E!t/folders!g; $output =~ s#\\#/#g; # windows is($output, <<'EXPECTED', 'found in encoded text'); t/folders/mbox.cpy, message 20: p 12: , pointsize => $poinsize EXPECTED $folder->close(write => 'NEVER'); undef $grep12; Mail-Box-4.01/t/300manager-open.t0000644000175000001440000000372215117245043017016 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the folder manager # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Manager; use Test::More tests => 14; use File::Spec; use Log::Report; my $new = File::Spec->catfile($folderdir, 'create'); unlink $new; my $manager = Mail::Box::Manager->new ( log => 'NOTICES' , trace => 'NONE' ); my $folder = $manager->open(folder => $src, lock_type => 'NONE', extract => 'LAZY'); ok(defined $folder, 'open folder'); isa_ok($folder, 'Mail::Box::Mbox'); my $second = try { $manager->open(folder => $src, lock_type => 'NONE') }; ok(!defined $second, 'open same folder fails'); my @e1 = $@->exceptions; cmp_ok(@e1, "==", 1, 'mgr noticed double'); my $error = $e1[-1]->message; $error =~ s#mbox\.win#mbox.src#g; # Windows mutulated path $error =~ s#\\#/#g; is($error, "folder t/folders/mbox.src is already open."); cmp_ok($manager->openFolders, "==", 1, 'only one folder open'); undef $second; cmp_ok($manager->openFolders, "==", 1, 'second closed, still one open'); my $n = try { $manager->open( folder => $new, folderdir => 't', type => 'mbox', lock_type => 'NONE', ) }; ok(! -f $new, 'folder file does not exist'); ok(! defined $n, 'open non-ex does not succeed'); my @e2 = $@->exceptions; cmp_ok(@e2, "==", 1, 'new warning'); $e2[-1] =~ s#\\#/#g; # Windows is($e2[-1], "error: folder file t/folders/create does not exist.\n"); my $p = $manager->open( folder => $new, lock_type => 'NONE', type => 'mbox', create => 1, access => 'w', ); ok(defined $p, 'open non-existing with create'); ok(-f $new, 'new folder created'); ok(-z $new, 'new folder is empty'); unlink $new; exit 0; Mail-Box-4.01/t/010platform-crlf.t0000644000175000001440000000260615117245043017213 0ustar00markovusers00000000000000#!/usr/bin/env perl # On Windows, the test mailbox must be have lines which are # separated by CRLFs. The mbox.src which is supplied is UNIX-style, # so only has LF line-terminations. In this script, this is # translated. The Content-Length of the messages is updated too. use strict; use warnings; use Mail::Box::Test; use Test::More tests => 1; my $crlf = "\015\012"; open my $src, '<:raw', $unixsrc or die "Cannot open $unixsrc to read: $!\n"; open my $dest, '>:raw', $winsrc or die "Cannot open $winsrc for writing: $!\n"; select $dest; until($src->eof) { my ($lines, $bytes); local $_; HEADER: while(<$src>) { s/[\012\015]*$/$crlf/; if( m/^Content-Length\: / ) {$bytes = $' +0} elsif( m/^Lines\: / ) {$lines = $' +0} elsif( m/^\s*$/ ) { # End of header if(defined $bytes && defined $lines) { $bytes += $lines; print "Content-Length: $bytes\015\012"; } print "Lines: $lines$crlf" if defined $lines; print $crlf; last HEADER; } else {print} } BODY: while(<$src>) { s/[\012\015]*$/$crlf/; print; last BODY if m/^From /; } } $src->close or die "Errors in reading $unixsrc"; $dest->close or die "Errors in writing $winsrc"; pass "Folder conversion complete"; Mail-Box-4.01/t/402locking-nfslock.t0000644000175000001440000000171415117245043017532 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the locking methods. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Locker::NFS; use Mail::Box; use Test::More; use File::Spec; use Log::Report; my $fakefolder = bless {MB_foldername=> 'this'}, 'Mail::Box'; BEGIN { if($windows) { plan skip_all => "not available on MicroSoft Windows."; exit 0; } } my $lockfile = File::Spec->catfile($workdir, 'lockfiletest'); unlink $lockfile; my $locker = Mail::Box::Locker->new( method => 'nfs', timeout => 1, wait => 1, file => $lockfile, folder => $fakefolder, ); ok($locker); is($locker->name, 'NFS'); ok($locker->lock); ok(-f $lockfile); ok($locker->hasLock); # Already got lock, so should return immediately. ok try(sub { $locker->lock }, hide => 'ALL'), 'relock no problem'; my @e1 = $@->exceptions; cmp_ok @e1, '==', 1; like $e1[0]->message->toString, qr/already locked over NFS/; $locker->unlock; ok(not $locker->hasLock); done_testing; Mail-Box-4.01/t/503parser-bodyl.t0000644000175000001440000001271315117245043017055 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the reading from file of message bodies which have their content # stored in a an array of lines. use strict; use warnings; use Mail::Box::Test; use Mail::Box::Parser::Perl; use Mail::Message::Body::Lines; use Mail::Message::Head; use Test::More tests => 945; ### ### First carefully read the first message ### my $parser = Mail::Box::Parser::Perl->new(filename => $src); ok(defined $parser, "creation of parser"); $parser->pushSeparator('From '); my ($where, $sep) = $parser->readSeparator; cmp_ok($where, "==", 0, "begin at file-start"); ok(defined $sep, "reading first separator"); like($sep, qr/^From /, "correctness first separator") if defined $sep; my $head = Mail::Message::Head->new; ok(defined $head); $head->read($parser); ok(defined $head); ok($head, "overloaded boolean"); my $hard_coded_lines_msg0 = 33; my $hard_coded_length_msg0 = 1280; my $binary_size = $hard_coded_length_msg0 + ($crlf_platform ? $hard_coded_lines_msg0 : 0); my $length = int $head->get('Content-Length'); cmp_ok($length, "==", $binary_size, "first message size"); my $lines = int $head->get('Lines'); cmp_ok($lines, "==", $hard_coded_lines_msg0, "first message lines"); my $body = Mail::Message::Body::Lines->new; $body->read($parser, $head, undef, $length, $lines); ok(defined $body, "reading of first body"); my @lines = $body->lines; $length -= @lines if $crlf_platform; cmp_ok($body->size, "==", $length, "size of body"); cmp_ok(@lines, "==", $lines, "lines of body"); # # Try to read the rest of the folder, with specified content-length # and lines if available. # my @msgs; push @msgs, # first message already read. { fields => scalar $head->names , lines => $hard_coded_lines_msg0 , size => $hard_coded_length_msg0 , sep => $sep , subject=> $head->get('subject') }; while(1) { my ($where, $sep) = $parser->readSeparator; last unless $sep; my $count = @msgs; like($sep, qr/^From /, "1 from $count"); $head = Mail::Message::Head->new; ok(defined $head, "1 head count"); $head->read($parser); my $cl = int $head->get('Content-Length'); my $li = int $head->get('Lines'); my $su = $head->get('Subject'); $body = Mail::Message::Body::Lines->new->read($parser, $head, undef, $cl, $li); ok(defined $body, "1 body $count"); my $size = $body->size; my $lines = $body->nrLines; cmp_ok($lines, "==", $li, "1 lines $count") if defined $li; $cl -= $li if $crlf_platform; cmp_ok($size, "==", $cl, "1 size $count") if defined $cl; my $msg = { size => $size , lines => $lines , fields => scalar $head->names , sep => $sep , subject=> $su }; push @msgs, $msg; } cmp_ok(@msgs, "==", 45); $parser->stop; ### ### Now read the whole folder again, but without help of content-length ### and nor lines. ### undef $parser; $parser = Mail::Box::Parser::Perl->new(filename => $src); $parser->pushSeparator('From '); my $count = 0; while($sep = $parser->readSeparator) { my $msg = $msgs[$count]; like($sep, qr/^From /, "2 from $count"); $head = Mail::Message::Head->new->read($parser); ok(defined $head, "2 head $count"); $body = Mail::Message::Body::Lines->new->read($parser, $head, undef); ok(defined $body, "2 body $count"); my $su = $head->get('Subject'); my $size = $body->size; my $lines = $body->nrLines; cmp_ok($size, "==", $msg->{size}, "2 size $count"); cmp_ok($lines, "==", $msg->{lines}, "2 lines $count"); is($su, $msg->{subject}, "2 subject $count") if defined $su && defined $msg->{subject}; cmp_ok($head->names , "==", $msg->{fields}, "2 names $count"); is($sep, $msg->{sep}, "2 sep $count"); $count++; } $parser->stop; ### ### Now read the whole folder again, but with deceiving values for ### content-length and lines ### undef $parser; $parser = Mail::Box::Parser::Perl->new(filename => $src); $parser->pushSeparator('From '); $count = 0; while(1) { my ($where, $sep) = $parser->readSeparator; last unless $sep; my $msg = $msgs[$count]; like($sep, qr/^From /, "3 From $count"); $head = Mail::Message::Head->new->read($parser); ok(defined $head, "3 Head $count"); $body = Mail::Message::Body::Lines->new; $body->read($parser, $head, undef, $msg->{size}-15, $msg->{lines}-3); ok(defined $body, "3 Body $count"); my $su = $head->get('Subject'); my $size = $body->size; my $lines = $body->nrLines; # two messages contain one trailing blank, which is removed because # of the wrong number of lines. The will have an extra OK. my $wrong = $count==14 || $count==18; cmp_ok($size, '==', $msg->{size}, "3 size $count") unless $wrong; cmp_ok($lines, '==', $msg->{lines}, "3 lines $count") unless $wrong; is($su, $msg->{subject}, "3 subject $count") if defined $su && defined $msg->{subject}; cmp_ok($head->names, '==', $msg->{fields}, "3 name $count"); is($sep, $msg->{sep}, "3 sep $count"); $count++; } Mail-Box-4.01/t/106mbox-inplace.t0000644000175000001440000001204315117245043017023 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test writing of mbox folders using the inplace policy. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Mbox; use Test::More; use File::Compare; use File::Copy; use Log::Report; # # We will work with a copy of the original to avoid that we write # over our test file. # unlink $cpy; copy $src, $cpy or die "Cannot create test folder $cpy: $!\n"; my $folder = Mail::Box::Mbox->new ( folder => "=$cpyfn" , folderdir => $workdir , lock_type => 'NONE' , extract => 'LAZY' , access => 'rw' , log => 'NOTICES' #, trace => 'NOTICES' ); die "Couldn't read $cpy: $!\n" unless $folder; # # None of the messages should be modified. # my $modified = 0; $modified ||= $_->modified foreach $folder->messages; ok(!$modified); # # Write unmodified folder. This should be ready immediately. # ok try { $folder->write(policy => 'INPLACE') } mode => 'DEBUG'; my @e1 = $@->exceptions; cmp_ok scalar @e1, '==', 1, "one exception"; is $e1[0]->reason, 'TRACE'; like $e1[0]->message->toString, qr/not changed/; # # All messages must still be delayed. # my $msgnr = 0; foreach ($folder->messages) { my $body = $_->body; if($body->isDelayed || $body->isNested || $body->isMultipart) {ok(1)} else { warn "Warn: failed message $msgnr.\n"; ok(0) } $msgnr++; } # # Now MODIFY the folder, and write it again. # my $modmsgnr = 30; $folder->message($modmsgnr)->modified(1); ok($folder->write(policy => 'INPLACE')); ok(not $folder->modified); # # All before messages before $modmsgnr must still be delayed. # $msgnr = 0; foreach ($folder->messages) { my $body = $_->body; my $right = ($body->isDelayed || $body->isMultipart || $body->isNested) ? ($msgnr < $modmsgnr) : ($msgnr >= $modmsgnr); ok($right, "delayed message $msgnr"); $msgnr++; } my @folder_subjects = sort map {$_->get('subject')||''} $folder->messages; my $folder_messages = $folder->messages; ok(not $folder->modified); $folder->close; # Check also if the subjects are the same. # Try to read it back my $copy = new Mail::Box::Mbox ( folder => "=$cpyfn" , folderdir => $workdir , lock_type => 'NONE' , extract => 'ALWAYS' ); ok(defined $copy); cmp_ok($copy->messages, "==", $folder_messages); # Check also if the subjects are the same. my @copy_subjects = sort map {$_->get('subject')||''} $copy->messages; my $msg12subject = $copy->message(12)->get('subject'); ok(defined $msg12subject, "got msg12 subject"); while(@folder_subjects) { last unless shift(@folder_subjects) eq shift(@copy_subjects); } ok(!@folder_subjects); # # Check wether inplace rewrite works when a few messages are deleted. # $copy = new Mail::Box::Mbox ( folder => "=$cpyfn" , folderdir => $workdir , lock_type => 'NONE' , extract => 'LAZY' , access => 'rw' , log => 'NOTICES' #, trace => 'NOTICES' ); die "Couldn't read $cpyfn: $!\n" unless $copy; $copy->message(-1)->delete; # last flagged for deletion ok($copy->message(-1)->deleted); ok($copy->write(policy => 'INPLACE'), "write folder with fewer messsages"); $copy = new Mail::Box::Mbox ( folder => "=$cpyfn" , folderdir => $workdir , lock_type => 'NONE' , extract => 'ALWAYS' ); ok(defined $copy, "Reopen succesful"); cmp_ok($copy->messages+1, "==", $folder_messages, "1 message less"); # # Rewrite it again, with again 1 fewer message # $copy->close; ok(! defined $copy, "Folder is really closed"); $copy = new Mail::Box::Mbox ( folder => "=$cpyfn" , folderdir => $workdir , lock_type => 'NONE' , extract => 'ALWAYS' , access => 'rw' ); cmp_ok($copy->messages, "==", $folder_messages-1, "1 message still away"); $copy->message(10)->delete; # some other, doesn't matter ok($copy->message(10)->deleted); ok($copy->write(policy => 'INPLACE'), "write folder with fewer messsages"); $copy = new Mail::Box::Mbox ( folder => "=$cpyfn" , folderdir => $workdir , lock_type => 'NONE' , extract => 'ALWAYS' ); cmp_ok($copy->messages, "==", $folder_messages-2, "2 messages fewer"); is($copy->message(11)->get('subject'), $msg12subject, "move message"); # # Rewrite it again, with again 1 fewer message: this time the first message # $copy->close; ok(! defined $copy, "Folder is really closed"); $copy = new Mail::Box::Mbox ( folder => "=$cpyfn" , folderdir => $workdir , lock_type => 'NONE' , extract => 'ALWAYS' , access => 'rw' ); cmp_ok($copy->messages, "==", $folder_messages-2, "2 message still away"); $copy->message(0)->delete; # first flagged for deletion ok($copy->message(0)->deleted); ok($copy->write(policy => 'INPLACE'), "write folder with fewer messsages"); $copy = new Mail::Box::Mbox ( folder => "=$cpyfn" , folderdir => $workdir , lock_type => 'NONE' , extract => 'ALWAYS' ); cmp_ok($copy->messages, "==", $folder_messages-3, "3 messages fewer"); is($copy->message(10)->get('subject'), $msg12subject, "move message"); unlink $cpy; done_testing; Mail-Box-4.01/t/403locking-posix.t0000644000175000001440000000202615117245043017233 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the locking methods. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Locker::POSIX; use Mail::Box; use Test::More; use File::Spec; use Log::Report; BEGIN { if($windows) { plan skip_all => "not available on MicroSoft Windows."; exit 0; } } my $fakefolder = bless {MB_foldername=> 'this'}, 'Mail::Box'; my $lockfile = File::Spec->catfile($workdir, 'lockfiletest'); unlink $lockfile; open my $out, '>', $lockfile; $out->close; my $locker = Mail::Box::Locker->new ( method => 'POSIX' , timeout => 1 , wait => 1 , file => $lockfile , folder => $fakefolder ); ok(defined $locker); is($locker->name, 'POSIX'); ok($locker->lock); ok(-f $lockfile); ok($locker->hasLock); # Already got lock, so should return immediately. ok try(sub { $locker->lock }, hide => 'ALL'), 'relock no problem'; my @e1 = $@->exceptions; cmp_ok @e1, '==', 1; like $e1[0]->message->toString, qr/already lockf/; $locker->unlock; ok(not $locker->hasLock); unlink $lockfile; done_testing; Mail-Box-4.01/t/113mh-create.t0000644000175000001440000000732115117245043016313 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test creation/deletion and listing of folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Mbox; use Mail::Box::MH; use Mail::Message::Construct; use Test::More tests => 20; use File::Copy; use File::Spec; my $top = File::Spec->catfile($workdir, 'Mail'); my $mbox = Mail::Box::Mbox->new ( folder => $src , lock_type => 'NONE' ); # # Create a nice structure which looks like a set of MH folders. # sub folder($;$@) { my $dirname = shift; $dirname = File::Spec->catfile($dirname, shift) if @_; die "Cannot create directory $dirname: $!\n" unless -d $dirname || mkdir $dirname, 0700; foreach (@_) { my $f = File::Spec->catfile($dirname, $_); open my $create, ">", $f or die "Cannot create $f: $!\n"; $mbox->message($_)->print($create) if m/^\d+$/; $create->close; } $dirname; } folder $top; folder $top, 'f1', qw/a b c/; folder $top, 'f2', 1, 2, 3; # only real folder folder $top, 'f3'; # empty folder my $sub1 = folder $top, 'sub1'; folder $sub1, 's1f1'; folder $sub1, 's1f2'; folder $sub1, 's1f3'; folder $top, 'sub2'; # empty dir my $f4 = folder $top, 'f4', 1, 2, 3; folder $f4, 'f4f1'; unpack_mbox2mh $src, File::Spec->catfile($f4, 'f4f2'); folder $f4, 'f4f3'; ok(compare_lists [ sort Mail::Box::MH->listSubFolders(folderdir => $top) ] , [ qw/f1 f2 f3 f4 sub1 sub2/ ] ); ok(compare_lists [ sort Mail::Box::MH->listSubFolders(folderdir => $top) ] , [ qw/f1 f2 f3 f4 sub1 sub2/ ] ); ok(compare_lists [ sort Mail::Box::MH->listSubFolders ( folderdir => $top , skip_empty => 1 ) ] , [ qw/f2 f4 sub1/ ] ); ok(compare_lists [ sort Mail::Box::MH->listSubFolders ( folderdir => $top , check => 1 ) ] , [ qw/f2 f4/ ] ); ok(compare_lists [ sort Mail::Box::MH->listSubFolders ( folderdir => $top , folder => "=f4" ) ] , [ qw/f4f1 f4f2 f4f3/ ] ); ok(compare_lists [ sort Mail::Box::MH->listSubFolders(folderdir => "$top/f4") ] , [ qw/f4f1 f4f2 f4f3/ ] ); # # Open a folder in a sub-dir which uses the extention. # my $folder = Mail::Box::MH->new ( folderdir => $top , folder => '=f4/f4f2' , lock_type => 'NONE' ); ok($folder); cmp_ok($folder->messages, "==", 45); $folder->close; # # Open a new folder. # my $newfolder = File::Spec->catfile($f4, 'newfolder'); ok(! -d $newfolder); Mail::Box::MH->create('=f4/newfolder', folderdir => $top); ok(-d $newfolder); $folder = Mail::Box::MH->new ( folderdir => $top , folder => '=f4/newfolder' , access => 'rw' , keep_index => 1 , lock_type => 'NONE' ); ok($folder); cmp_ok($folder->messages, "==", 0); my $msg = Mail::Message->build ( From => 'me@example.com' , To => 'you@anywhere.aq' , Subject => 'Just a try' , data => [ "a short message\n", "of two lines.\n" ] ); $folder->addMessage($msg); cmp_ok($folder->messages, "==", 1); $folder->close; ok(-f File::Spec->catfile($newfolder, '1')); opendir my $dh, $newfolder or die "Cannot read directory $newfolder: $!\n"; my @all = grep !/^\./, readdir $dh; closedir $dh; cmp_ok(@all, "==", 1); my $seq = File::Spec->catfile($newfolder, '.mh_sequences'); open my $sh, $seq or die "Cannot read $seq: $!\n"; my @seq = <$sh>; $sh->close; cmp_ok(@seq, "==", 1); is($seq[0],"unseen: 1\n"); # # Delete a folder. # $folder = Mail::Box::MH->new ( folderdir => $top , folder => '=f4' , access => 'rw' , lock_type => 'NONE' , keep_index => 1 ); ok(-d $f4); $folder->delete; ok(1); $folder->close; ok(1); Mail-Box-4.01/t/404locking-mutt.t0000644000175000001440000000236615117245043017072 0ustar00markovusers00000000000000#!/usr/bin/env perl #### test run untainted! Otherwise we will not find a relative #### mutt_dotlock program. # # Test the locking methods. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Mbox; use Mail::Box::Locker::Mutt; use Test::More; use Log::Report; BEGIN { eval qq{ use POSIX 'sys_wait_h'; close STDERR; ### remove this to debug this test system('mutt_dotlock', '-u', '$0'); die "OK!" if WIFEXITED(\$?); }; $@ =~ m/OK!/ or plan skip_all => "mutt_dotlock cannot be used"; } my $foldername = $0; my $fakefolder = bless +{ MB_foldername => $foldername }, 'Mail::Box::Mbox'; my $lockfile = "$foldername.lock"; unlink $lockfile; my $locker = Mail::Box::Locker->new( method => 'MUTT', timeout => 1, wait => 1, folder => $fakefolder, ); ok($locker, 'Created locker'); is($locker->name, 'MUTT', 'locker name'); ok($locker->lock, 'can lock'); ok(-f $lockfile, 'lockfile found'); ok($locker->hasLock, 'locked status'); # Already got lock, so should return immediately. ok try(sub { $locker->lock }, hide => 'ALL'), 'second attempt'; my @e1 = $@->exceptions; cmp_ok @e1, '==', 1; like $e1[0]->message->toString, qr/already mutt-locked/; $locker->unlock; ok(! $locker->hasLock, 'released lock'); done_testing; Mail-Box-4.01/t/302manager-user.t0000644000175000001440000000160215117245043017030 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the user manager, which extends the normal manager use strict; use warnings; use Mail::Box::Test; use Mail::Box::Manage::User; use Test::More tests => 11; my $id = User::Identity->new('markov'); ok(defined $id, "Identity created"); isa_ok($id, 'User::Identity'); my $user = Mail::Box::Manage::User->new(identity => $id); ok(defined $user, "User manager created"); isa_ok($user, "Mail::Box::Manager"); isa_ok($user, "Mail::Box::Manage::User"); my $i = $user->identity; ok(defined $i, "Identity defined"); isa_ok($i, 'User::Identity'); cmp_ok($id->name, 'eq', $i->name, "Same id object"); my $f = $user->topfolder; ok(defined $f, "Folder structure created"); isa_ok($f, 'Mail::Box::Identity'); isa_ok($f, 'User::Identity::Item'); Mail-Box-4.01/t/301manager-urlopen.t0000644000175000001440000000757515117245043017554 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the url decoding for a folder name # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Manager; use Test::More tests => 16; use File::Spec; my $mgr = Mail::Box::Manager->new; $ENV{USER} = 'Jan'; sub same(@) { my $expect = pop @_; my $made = { @_ }; unless(defined $made) { warn "Nothing produced."; return 0; } foreach (keys %$made) { next if exists $expect->{$_}; warn "Key $_ made too much."; return 0; } #warn sort keys %$made; #warn sort keys %$expect; foreach (keys %$expect) { next if exists $made->{$_}; warn "Key $_ expected too much."; return 0; } foreach (keys %$made) { next if defined $made->{$_} && defined $expect->{$_} && $made->{$_} eq $expect->{$_}; next if !defined $made->{$_} && !defined $expect->{$_}; warn "Key $_: ",(defined $made->{$_} ? $made->{$_} : ''), ";", (defined $expect->{$_} ? $expect->{$_} : ''); return 0; } return 1; } ok(not defined $mgr->decodeFolderURL('x')); ok(same($mgr->decodeFolderURL('mbox:x'), { type => 'mbox', username => 'Jan', password => '' , server_name => 'localhost', server_port => undef, folder => 'x' } )); ok(same($mgr->decodeFolderURL('mbox:/x/y'), { type => 'mbox', username => 'Jan', password => '' , server_name => 'localhost', server_port => undef, folder => '/x/y' } )); ok(same($mgr->decodeFolderURL('pop3:///x/y'), { type => 'pop3', username => 'Jan', password => '' , server_name => 'localhost', server_port => undef, folder => '/x/y' } )); ok(same($mgr->decodeFolderURL('pop3://'), { type => 'pop3', username => 'Jan', password => '' , server_name => 'localhost', server_port => undef, folder => '=' } )); ok(same($mgr->decodeFolderURL('pop3://me:secret@host:42/y'), { type => 'pop3', username => 'me', password => 'secret' , server_name => 'host', server_port => 42, folder => '/y' } )); ok(same($mgr->decodeFolderURL('pop3://me:secret@host/y'), { type => 'pop3', username => 'me', password => 'secret' , server_name => 'host', server_port => undef, folder => '/y' } )); ok(same($mgr->decodeFolderURL('pop3://me:secret@:12/y'), { type => 'pop3', username => 'me', password => 'secret' , server_name => 'localhost', server_port => 12, folder => '/y' } )); ok(same($mgr->decodeFolderURL('pop3://me:secret@/y'), { type => 'pop3', username => 'me', password => 'secret' , server_name => 'localhost', server_port => undef, folder => '/y' } )); ok(same($mgr->decodeFolderURL('pop3://me@/y'), { type => 'pop3', username => 'me', password => '' , server_name => 'localhost', server_port => undef, folder => '/y' } )); ok(same($mgr->decodeFolderURL('pop3://me@:42/y'), { type => 'pop3', username => 'me', password => '' , server_name => 'localhost', server_port => 42, folder => '/y' } )); ok(same($mgr->decodeFolderURL('pop3://me@host/y'), { type => 'pop3', username => 'me', password => '' , server_name => 'host', server_port => undef, folder => '/y' } )); ok(same($mgr->decodeFolderURL('pop3://tux.home.aq:42/y'), { type => 'pop3', username => 'Jan', password => '' , server_name => 'tux.home.aq', server_port => 42, folder => '/y' } )); ok(same($mgr->decodeFolderURL('pop3://tux.home.aq/y'), { type => 'pop3', username => 'Jan', password => '' , server_name => 'tux.home.aq', server_port => undef, folder => '/y' } )); ok(same($mgr->decodeFolderURL('pop3://tux.home.aq'), { type => 'pop3', username => 'Jan', password => '' , server_name => 'tux.home.aq', server_port => undef, folder => '=' } )); ok(same($mgr->decodeFolderURL('pop3://me:secret@tux.home.aq'), { type => 'pop3', username => 'me', password => 'secret' , server_name => 'tux.home.aq', server_port => undef, folder => '=' } )); Mail-Box-4.01/t/400locking-dotlock.t0000644000175000001440000000170215117245043017525 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the locking methods. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Locker::DotLock; use Mail::Box; use Test::More; use File::Spec; use Log::Report; my $fakefolder = bless {MB_foldername=> 'this'}, 'Mail::Box'; my $lockfile = File::Spec->catfile($workdir, 'lockfiletest'); unlink $lockfile; my $locker = Mail::Box::Locker->new ( method => 'DotLock' , timeout => 1 , wait => 1 , file => $lockfile , folder => $fakefolder ); ok($locker); is($locker->name, 'DOTLOCK', 'locker name'); ok($locker->lock, 'can lock'); ok(-f $lockfile, 'lockfile found'); ok($locker->hasLock, 'locked status'); # Already got lock, so should return immediately. ok try(sub { $locker->lock }, hide => 'ALL'), 'second attempt'; my @e1 = $@->exceptions; cmp_ok @e1, '==', 1; like $e1[0]->message->toString, qr/already locked with file/; $locker->unlock; ok(! $locker->hasLock, 'released lock'); done_testing; Mail-Box-4.01/t/001use.t0000644000175000001440000000450615117245043015240 0ustar00markovusers00000000000000#!/usr/bin/env perl use warnings; use strict; use Test::More tests => 41; # The versions of the following packages are reported to help understanding # the environment in which the tests are run. This is certainly not a # full list of all installed modules. my @show_versions = qw/Mail::Message Mail::Transport Mail::Box::IMAP4 Mail::Box::POP3 /; foreach my $package (@show_versions) { eval "require $package"; no strict 'refs'; my $report = !$@ ? "version ". (${"$package\::VERSION"} || 'unknown') : $@ =~ m/^Can't locate/ ? "not installed" : "reports error: $@"; warn "$package $report\n"; } require_ok('Mail::Box::Collection'); require_ok('Mail::Box::Dir::Message'); require_ok('Mail::Box::Dir'); require_ok('Mail::Box::File::Message'); require_ok('Mail::Box::File'); require_ok('Mail::Box::Identity'); require_ok('Mail::Box::Locker::DotLock'); require_ok('Mail::Box::Locker::Flock'); require_ok('Mail::Box::Locker::Multi'); require_ok('Mail::Box::Locker::Mutt'); require_ok('Mail::Box::Locker::NFS'); require_ok('Mail::Box::Locker'); require_ok('Mail::Box::Locker::POSIX'); require_ok('Mail::Box::Maildir::Message'); require_ok('Mail::Box::Maildir'); require_ok('Mail::Box::Manager'); require_ok('Mail::Box::Manage::User'); require_ok('Mail::Box::Mbox::Message'); require_ok('Mail::Box::Mbox'); require_ok('Mail::Box::Message::Destructed'); require_ok('Mail::Box::Message'); require_ok('Mail::Box::MH::Index'); require_ok('Mail::Box::MH::Labels'); require_ok('Mail::Box::MH::Message'); require_ok('Mail::Box::MH'); require_ok('Mail::Box::Net::Message'); require_ok('Mail::Box::Net'); require_ok('Mail::Box'); require_ok('Mail::Box::Search::Grep'); require_ok('Mail::Box::Search'); require_ok('Mail::Box::Test'); require_ok('Mail::Box::Thread::Manager'); require_ok('Mail::Box::Thread::Node'); require_ok('Mail::Box::Tie::ARRAY'); require_ok('Mail::Box::Tie::HASH'); require_ok('Mail::Box::Tie'); require_ok('Mail::Message::Body::Delayed'); require_ok('Mail::Message::Dummy'); require_ok('Mail::Message::Head::Delayed'); require_ok('Mail::Message::Head::Subset'); require_ok('Mail::Server'); # The following modules only compile when optional modules are installed #require_ok('Mail::Box::Locker::FcntlLock'); #require_ok('Mail::Box::Search::SpamAssassin'); #require_ok('Mail::Message::Wrapper::SpamAssassin'); Mail-Box-4.01/t/201folder-tieary.t0000644000175000001440000000264115117245043017212 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test access to folders using ties. # use strict; use warnings; use Mail::Box::Mbox (); use Mail::Box::Tie::ARRAY (); use Mail::Message::Construct (); use Mail::Box::Test; use Test::More; # # The folder is read. # my $folder = Mail::Box::Mbox->new( folder => $src, folderdir => 't', lock_type => 'NONE', extract => 'ALWAYS', access => 'r', ); ok defined $folder, 'open folder'; cmp_ok $folder->messages, "==", 45, '... found all messages'; tie my(@folder), 'Mail::Box::Tie::ARRAY', $folder; cmp_ok @folder , "==", 45, '... also via tie'; is $folder->message(4), $folder[4]; ok ! $folder->message(2)->deleted, 'try delete in folder interface'; $folder[2]->delete; ok $folder->message(2)->deleted, '... is deleted'; cmp_ok @folder , "==", 45, '... still visible'; ok ! $folder->message(3)->deleted, 'try delete via array interface'; my $d3 = delete $folder[3]; ok defined $d3; ok $folder->message(3)->deleted; # Double messages will not be added. my $m = push @folder, $folder[1]->clone; cmp_ok $m, "==", 45, 'ignore clone'; cmp_ok @folder, "==", 45; # Different message, however, will be added. my $newmsg = Mail::Message->build(data => []); my $l = push @folder, $newmsg; cmp_ok $l, '==', 46, 'push new message'; cmp_ok scalar $folder->messages , "==", 46, 'added message via ARRAY interface'; cmp_ok scalar @folder , "==", 46; $folder->close(write => 'NEVER'); done_testing; Mail-Box-4.01/t/500parser-bodyf.t0000644000175000001440000001325115117245043017042 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the reading from file of message bodies which have their content # stored in external files as long as the folder is open. use strict; use warnings; use Test::More; use Mail::Box::Test; use Mail::Box::Parser::Perl (); use Mail::Message::Body::File (); use Mail::Message::Head (); # MO: I do not know whether there is an other way to get this to work # on Windows without error messages. my $trusted = $Mail::Message::crlf_platform; ### ### First carefully read the first message ### my $parser = Mail::Box::Parser::Perl->new(filename => $src, trusted =>$trusted ); ok(defined $parser, "creation of parser"); $parser->pushSeparator('From '); my ($where, $sep) = $parser->readSeparator; cmp_ok($where, "==", 0, "begin at file-start"); ok(defined $sep, "reading first separator"); like($sep, qr/^From /, "correctness first separator") if defined $sep; my $head = Mail::Message::Head->new; ok(defined $head); $head->read($parser); ok defined $head, "read a head"; ok $head, "overloaded boolean"; my $hard_coded_lines_msg0 = 33; my $hard_coded_length_msg0 = 1280; my $binary_size = $hard_coded_length_msg0 + ($crlf_platform ? $hard_coded_lines_msg0 : 0); my $length = int $head->get('Content-Length'); cmp_ok($length, "==", $binary_size, "first message size"); my $lines = int $head->get('Lines'); cmp_ok($lines, "==", $hard_coded_lines_msg0, "first message lines"); my $body = Mail::Message::Body::File->new; $body->read($parser, $head, undef, $length, $lines); ok(defined $body, "reading of first body"); cmp_ok($body->size, "==", $hard_coded_length_msg0, "size of body"); my @lines = $body->lines; cmp_ok(@lines, "==", $lines, "lines of body"); # # Try to read the rest of the folder, with specified content-length # and lines if available. # my @msgs; push @msgs, +{ # first message already read. fields => scalar $head->names, lines => $hard_coded_lines_msg0, size => $hard_coded_length_msg0, sep => $sep, subject=> $head->get('subject'), }; while(1) { my ($where, $sep) = $parser->readSeparator; $sep or last; ok defined $sep, "read seperator ". ($sep =~ s/\n*$//r); my $count = @msgs; like $sep, qr/^From /, "1 from $count"; $head = Mail::Message::Head->new; ok defined $head, "1 head count"; $head->read($parser); my $cl = int $head->get('Content-Length'); my $li = int $head->get('Lines'); my $su = $head->get('Subject'); $body = Mail::Message::Body::File->new->read($parser, $head, undef, $cl, $li); ok(defined $body, "1 body $count"); my $size = $body->size; my $lines = $body->nrLines; cmp_ok $lines, "==", $li, "1 lines $count" if defined $li; $cl -= $li if $crlf_platform; cmp_ok $size, "==", $cl, "1 size $count" if defined $cl; my $msg = +{ size => $size, lines => $lines, fields => scalar $head->names, sep => $sep, subject=> $su, }; push @msgs, $msg; } cmp_ok @msgs, "==", 45, '1 Found all messages'; $parser->stop; ### ### Now read the whole folder again, but without help of content-length ### and nor lines. ### undef $parser; $parser = Mail::Box::Parser::Perl->new(filename => $src, trusted => $trusted); $parser->pushSeparator('From '); my $count = 0; while($sep = $parser->readSeparator) { my $msg = $msgs[$count]; like($sep, qr/^From /, "2 from $count"); $head = Mail::Message::Head->new->read($parser); ok(defined $head, "2 head $count"); $body = Mail::Message::Body::File->new->read($parser, $head, undef); ok(defined $body, "2 body $count"); my $su = $head->get('Subject'); my $size = $body->size; my $lines = $body->nrLines; cmp_ok($size, "==", $msg->{size}, "2 size $count"); cmp_ok($lines, "==", $msg->{lines}, "2 lines $count"); is($su, $msg->{subject}, "2 subject $count") if defined $su && defined $msg->{subject}; cmp_ok($head->names , "==", $msg->{fields}, "2 names $count"); is($sep, $msg->{sep}, "2 sep $count"); $count++; } $parser->stop; ### ### Now read the whole folder again, but with deceiving values for ### content-length and lines ### undef $parser; $parser = Mail::Box::Parser::Perl->new(filename => $src, trusted => $trusted); $parser->pushSeparator('From '); $count = 0; while(1) { my ($where, $sep) = $parser->readSeparator; last unless $sep; my $msg = $msgs[$count]; like($sep, qr/^From /, "3 From $count"); $head = Mail::Message::Head->new->read($parser); ok(defined $head, "3 Head $count"); $body = Mail::Message::Body::File->new; $body->read($parser, $head, undef, $msg->{size}-15, $msg->{lines}-3); ok(defined $body, "3 Body $count"); my $su = $head->get('Subject'); my $size = $body->size; my $lines = $body->nrLines; # two messages contain one trailing blank, which is removed because # of the wrong number of lines. The will have an extra OK. my $wrong = $count==14 || $count==18; cmp_ok($size, '==', $msg->{size}, "3 size $count") unless $wrong; cmp_ok($lines, '==', $msg->{lines}, "3 lines $count") unless $wrong; is($su, $msg->{subject}, "3 subject $count") if defined $su && defined $msg->{subject}; cmp_ok($head->names, '==', $msg->{fields}, "3 name $count"); is($sep, $msg->{sep}, "3 sep $count"); $count++; } done_testing; Mail-Box-4.01/t/105mbox-thread.t0000644000175000001440000001174315117245043016664 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test threading on Mbox folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Manager; use Test::More; use File::Copy; # # We will work with a copy of the original to avoid that we write # over our test file. # copy $src, $cpy or die "Cannot create test folder $cpy: $!\n"; my $mgr = Mail::Box::Manager->new; ok $mgr, 'Start manager'; my $folder = $mgr->open( folder => "=$cpyfn", folderdir => $folderdir, lock_type => 'NONE', extract => 'LAZY', access => 'rw', save_on_exit => 0, # thread_timespan => 'EVER' ); ok $folder, 'open folder'; cmp_ok $folder->nrMessages, '==', 45, '... expected msgs found'; my $threads = $mgr->threads(folder => $folder); ok $threads, 'detect threads'; # First try message which is single. my $single = $folder->messageID('<200010041822.e94IMZr19712@mystic.es.dupont.com>'); ok $single, 'single message'; my $single2 = $folder->messageID('200010041822.e94IMZr19712@mystic.es.dupont.com'); ok $single2, '... get it again'; is $single2, $single, '... ... same'; my $single3 = $folder->messageID('garbage <200010041822.e94IMZr19712@mystic.es.dupont.com> trash'); ok $single3, '... strip msgid to <>'; is $single3, $single, '... ... same'; my $start = $threads->threadStart($single); ok $start, 'thread start at single message'; defined $start or exit 1; is $single->messageID, $start->message->messageID; my $message = $folder->messageID('NDBBJJFDMKFOAIFBEPPJIELLCBAA.cknoos@atg.com'); ok $message; my $this = $threads->thread($message); ok($this); compare_thread_dumps($this->threadToString, <<'MIDDLE', 'thread from here'); 1.2K Problem resizing images through perl script 820 `- Re: Problem resizing images through perl script 1.8K `- RE: Problem resizing images through perl script 1.0K `- Re: Problem resizing images through perl script MIDDLE $start = $threads->threadStart($message); ok(defined $start); my $startmsg = $start->message; ok(defined $startmsg); isa_ok($startmsg, 'Mail::Message::Dummy'); isa_ok($startmsg, 'Mail::Message'); ok($startmsg->isDummy); ok($startmsg->messageID ne $message->messageID); compare_thread_dumps($start->threadToString, <<'START', 'thread from top'); 1.2K *- Problem resizing images through perl script 820 | `- Re: Problem resizing images through perl script 1.8K | `- RE: Problem resizing images through perl script 1.0K | `- Re: Problem resizing images through perl script 1.2K `- Re: Convert HTM, HTML files to the .jpg format START $this->folded(1); compare_thread_dumps($start->threadToString, <<'FOLDED', 'folded thread'); *- [4] Problem resizing images through perl script 1.2K `- Re: Convert HTM, HTML files to the .jpg format FOLDED $this->folded(0); compare_thread_dumps($start->threadToString, <<'START', 'unfolded thread'); 1.2K *- Problem resizing images through perl script 820 | `- Re: Problem resizing images through perl script 1.8K | `- RE: Problem resizing images through perl script 1.0K | `- Re: Problem resizing images through perl script 1.2K `- Re: Convert HTM, HTML files to the .jpg format START my $out = join '', map {$_->threadToString} $threads->sortedKnown; my @lines = sort split "\n", $out; ok(@lines = $folder->messages); $out = join '', @lines; my $dump = <<'DUMP'; 1.3K Resize with Transparency 1.2K *- Re: File Conversion From HTML to PS and TIFF 2.1K `--*- Re: File Conversion From HTML to PS and TIFF 2.1K `- Re: File Conversion From HTML to PS and TIFF 1.4K Transparency question 2.4K RE: Transparency question 3.3K RE: Transparency question 5.5K RE: Transparency question 7.2K RE: Transparency question 2.7K RE: jpeg2000 question 1.2K *- Problem resizing images through perl script 820 | `- Re: Problem resizing images through perl script 1.8K | `- RE: Problem resizing images through perl script 1.0K | `- Re: Problem resizing images through perl script 1.2K `- Re: Convert HTM, HTML files to the .jpg format 747 Undefined Symbol: SetWarningHandler 1.1K `- Re: Undefined Symbol: SetWarningHandler 1.8K *- Re: watermarks/embossing 307 Re: Annotate problems (PR#298) 573 `- Re: Annotate problems (PR#298) 1.0K 1.4K `- Re: your mail 1.9K `- Re: your mail 152 Re: your mail 686 `- Re: your mail 189 Re: your mail 2.0K 670 Re: your mail 4.4K `- Re: your mail 552 mailing list archives 1.4K delegates.mgk set-up for unixware printing 1.5K printing solution for UW 7.1 1.4K *- Re: converts new sharpen factors 1.2K New ImageMagick mailing list 27 subscribe 822 Confirmation for subscribe magick-developer 63 `- Re: Confirmation for subscribe magick-developer 11K Welcome to magick-developer 1.7K core dump in simple ImageMagick example 2.2K `- Re: core dump in simple ImageMagick example 882 `- Re: core dump in simple ImageMagick example 754 `- Re: core dump in simple ImageMagick example 2.0K Core Dump on ReadImage 1.0K `- Re: Core Dump on ReadImage 1.6K Font metrics DUMP $dump = join '', sort split /^/, $out; compare_thread_dumps($out, $dump , 'sorted full dump'); done_testing; Mail-Box-4.01/t/120maildir-read.t0000644000175000001440000001120615117245043016773 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test reading of Maildir folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Maildir; use Mail::Box::Mbox; use Test::More; use File::Compare; use File::Copy; BEGIN { if($windows) { plan skip_all => 'Filenames not compatible with Windows'; exit 1; } } my $mdsrc = File::Spec->catfile($workdir, 'maildir.src'); unpack_mbox2maildir($src, $mdsrc); ok(Mail::Box::Maildir->foundIn($mdsrc)); my $folder1 = Mail::Box::Maildir->new( folder => $mdsrc, extract => 'LAZY', access => 'r', trace => 'NONE', ); ok defined $folder1, 'open maildir'; isa_ok($folder1, 'Mail::Box::Maildir'); cmp_ok($folder1->messages, "==", 45); is($folder1->organization, 'DIRECTORY'); # # Count drafts (from Tools.pm flags) # my $drafts = 0; $_->label('draft') && $drafts++ for $folder1->messages; cmp_ok $drafts, "==", 8, 'a few drafts'; # # No single head should be read now, because extract == LAZY # the default. # my $heads = 0; foreach ($folder1->messages) { $heads++ unless $_->head->isDelayed; } cmp_ok($heads, "==", 0, 'all heads delayed'); # # Loading a header should not be done unless really necessary. # my $message = $folder1->message(7); ok $message->head->isDelayed, 'addressing does not load'; ok $message->filename ; # already known, but should not trigger header ok $message->head->isDelayed, 'filename does not load'; # # Nothing should be parsed yet # my $parsed = 0; foreach ($folder1->messages) { $parsed++ if $_->isParsed; } cmp_ok $parsed, "==", 0, 'none of the messages are parsed'; # # Trigger one message to get read. # ok $message->body->string; # trigger body loading. ok $message->isParsed; # # Test taking header # $message = $folder1->message(8); ok(defined $message->head->get('subject')); ok(not $message->isParsed); is(ref $message->head, 'Mail::Message::Head::Complete'); # This shouldn't cause any parsings: we do lazy extract, but Mail::Box # will always take the `Subject' header for us. my @subjects = map { chomp; $_ } map {$_->head->get('subject') || '' } $folder1->messages; $parsed = 0; $heads = 0; foreach ($folder1->messages) { $parsed++ unless $_->isDelayed; $heads++ unless $_->head->isDelayed; } cmp_ok($parsed, "==", 1); # message 7 cmp_ok($heads, "==", 45); # # The subjects must be the same as from the original Mail::Box::Mbox # There are some differences with new-lines at the end of headerlines # my $mbox = Mail::Box::Mbox->new( folder => $src, lock_type => 'NONE', access => 'r', ); my @fsubjects = map { chomp; $_ } map { $_->head->get('subject') || '' } $mbox->messages; $mbox->close; my %subjects; $subjects{$_}++ for @subjects; $subjects{$_}-- for @fsubjects; my $missed = 0; foreach (keys %subjects) { $missed++ if $subjects{$_}; warn "Still left: $_ ($subjects{$_}x)\n" if $subjects{$_}; } ok !$missed, 'all subjects found'; # # Check if we can read a body. # my $msg3 = $folder1->message(3); ok defined $msg3, 'message 4'; my $body = $msg3->body; ok defined $body, '... has a body'; cmp_ok @$body, "==", 42, '... expected nr lines'; # check expected number of lines in message 4. # Some maildir messages are labeled as 'DELETED', so close() wants to write it. $folder1->close(write => 'NEVER'); # # Now with partially lazy extract. # my $parse_size = 5000; my $folder2 = Mail::Box::Maildir->new( folder => $mdsrc, lock_type => 'NONE', extract => $parse_size, # messages > $parse_size bytes stay unloaded. access => 'rw', ); ok defined $folder2, 'opened maildir'; cmp_ok $folder2->messages, "==", 45, '... all messages found'; $parsed = 0; $heads = 0; my $mistake = 0; foreach ($folder2->messages) { $parsed++ unless $_->isDelayed; $heads++ unless $_->head->isDelayed; $mistake++ if !$_->isDelayed && $_->size > $parse_size; } ok ! $mistake, '... no mistakes'; ok ! $parsed, '... all delayed msgs'; # The new messages ok ! $heads, '... all delayed heads'; $folder2->message($_)->head->get('subject') for 5..13; ok 1, 'collect subject from 5..13'; $parsed = 0; $heads = 0; $mistake = 0; foreach ($folder2->messages) { $parsed++ unless $_->isDelayed; $heads++ unless $_->head->isDelayed; $mistake++ if !$_->isDelayed && $_->body->size > $parse_size; } ok ! $mistake, '... no mistakes'; cmp_ok $parsed , "==", 7, '... some parsed'; cmp_ok $heads , "==", 9, '... all heads'; $folder2->close; # No clean-dir: see how it behaves when the folder is not explictly # closed before the program terminates. Terrible things can happen # during auto-cleanup #clean_dir $mdsrc; done_testing; Mail-Box-4.01/t/104mbox-create.t0000644000175000001440000001224615117245043016656 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test creation/deletion and listing of folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Mbox; use Mail::Message::Construct; use Test::More tests => 28; use File::Copy; use File::Spec; my $top = File::Spec->catdir($workdir, 'Mail'); # # Create a nice structure which looks like a set of mbox folders. # sub dir($;$) { my $dirname = shift; $dirname = File::Spec->catdir($dirname, shift) if @_; die "Cannot create $dirname: $!\n" unless -d $dirname || mkdir $dirname, 0700; $dirname; } sub folder($$;$) { my $filename = File::Spec->catfile(shift, shift); my $content = shift || $src; # by default copies whole default mbox copy $content, $filename or die "Cannot copy $content to $filename: $!\n"; } clean_dir $top; # restart dir $top; folder $top, "f1", $0; folder $top, "f2"; { # Create an empty file. open my $fh, '>:raw', File::Spec->catfile($top,'f3') or die "Empty? $top/f3: $!"; $fh->close; } my $dir = dir $top, "sub1"; folder $dir, "s1f1"; folder $dir, "s1f2"; folder $dir, "s1f3"; dir $top, "sub2"; # empty dir folder $top, "f4"; $dir = dir $top, "f4.d"; # fake subfolder folder $dir, "f4f1"; folder $dir, "f4f2"; folder $dir, "f4f3"; my $success = compare_lists [ sort Mail::Box::Mbox->listSubFolders(folderdir => $top) ], [ qw/f1 f2 f3 f4 sub1 sub2/ ]; ok($success, 'Initial tree creation'); unless($success) { require File::Find; File::Find::find( { wanted => sub {print STDERR "$_\n" } , no_chdir => 1 }, $top); exit 1; } ok compare_lists [ sort Mail::Box::Mbox->listSubFolders(folderdir => $top) ], [ qw/f1 f2 f3 f4 sub1 sub2/ ]; ok compare_lists [ sort Mail::Box::Mbox->listSubFolders(folderdir => $top, skip_empty => 1) ], [ qw/f1 f2 f4 sub1/ ]; ok compare_lists [ sort Mail::Box::Mbox->listSubFolders(folderdir => $top, check => 1) ], [ qw/f2 f3 f4 sub1 sub2/ ]; ok compare_lists [ sort Mail::Box::Mbox->listSubFolders(folderdir => File::Spec->catfile($top, "f4.d")) ], [ qw/f4f1 f4f2 f4f3/ ]; ok compare_lists [ sort Mail::Box::Mbox->listSubFolders(folderdir => $top, folder => "=f4.d") ], [ qw/f4f1 f4f2 f4f3/ ]; ok compare_lists [ sort Mail::Box::Mbox->listSubFolders(folder => File::Spec->catfile($top, "f4")) ], [ qw/f4f1 f4f2 f4f3/ ]; # # Open a folder in a sub-dir which uses the extention. # my $folder = Mail::Box::Mbox->new ( folderdir => $top , folder => '=f4/f4f2' , lock_type => 'NONE' ); ok(defined $folder, 'open =f4/f4f2'); die unless defined $folder; cmp_ok($folder->messages, "==", 45, 'found all messages'); $folder->close; # # Open a new folder. # ok(! -f File::Spec->catfile($top, 'f4', 'newfolder')); Mail::Box::Mbox->create('=f4/newfolder', folderdir => $top); ok(-f File::Spec->catfile($top, "f4.d", "newfolder")); $folder = Mail::Box::Mbox->new ( folderdir => $top , folder => '=f4/newfolder' , access => 'rw' , lock_type => 'NONE' ); ok($folder); cmp_ok($folder->messages, "==", 0); my $msg = Mail::Message->build ( From => 'me@example.com' , To => 'you@anywhere.aq' , Subject => 'Just a try' , data => [ "a short message\n", "of two lines.\n" ] ); $folder->addMessage($msg); cmp_ok($folder->messages, "==", 1); $folder->close; ok(-s File::Spec->catfile($top, 'f4.d', 'newfolder')); # # Delete a folder. # $folder = Mail::Box::Mbox->new ( folderdir => $top , folder => '=f4' , access => 'rw' , lock_type => 'NONE' ); ok(defined $folder. 'open folder =f4'); die unless defined $folder; ok(-f File::Spec->catfile($top, "f4"), 'folder-file found'); $folder->delete(recurse=>1); # remove folder contents $folder->close if defined $folder; ok(! -f File::Spec->catfile($top, "f4"), 'empty folder clean-up'); ok(! -d File::Spec->catfile($top, "f4.d"), 'subfolder dir clean-up'); # # Write a folder, but at the same place is a subdir. The subdir should # be moved to a name ending on `.d' # my $sub1 = File::Spec->catfile($top, "sub1"); ok(-d $sub1, 'dir to be promoted'); ok(Mail::Box::Mbox->create('=sub1', folderdir => $top), 'promote dir to subfolder'); ok(-d File::Spec->catfile($top, "sub1.d"), 'check promotion'); ok(-f $sub1, 'new folder exists'); ok(-z $sub1, 'new folder is empty'); $folder = Mail::Box::Mbox->new ( folderdir => $top , folder => '=sub1' , access => 'rw' , lock_type => 'NONE' ); ok(defined $folder, 'open empty subfolder'); cmp_ok($folder->messages, "==", 0, 'subfolder is empty'); my $msg2 = Mail::Message->build ( From => 'me@example.com' , To => 'you@anywhere.aq' , Subject => 'Just a try' , data => [ "a short message\n", "of two lines.\n" ] ); $folder->addMessage($msg2); cmp_ok($folder->messages, "==", 1, 'one message into empty folder'); $folder->close; ok(-s $sub1, 'subfolder must exist now'); Mail-Box-4.01/t/405locking-multi.t0000644000175000001440000000200115117245043017216 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the locking methods. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Locker::Multi; use Mail::Box; use Test::More; use File::Spec; # The problem is that 'isLocked' on BSD behaves differently from the # calls on SysV (like Linux). It's about the same process attempting # to lock the same file twice. $^O !~ /bsd|darwin/ or plan skip_all => 'not tested for BSD-likes'; plan tests => 7; my $fakefolder = bless {MB_foldername=> 'this'}, 'Mail::Box'; my $lockfile = File::Spec->catfile($workdir, 'lockfiletest'); unlink $lockfile; if($windows) { open my $out, '>', $lockfile or die; $out->close; } my $locker = Mail::Box::Locker->new ( method => 'MULTI' , timeout => 1 , wait => 1 , file => $lockfile , folder => $fakefolder ); ok($locker); is($locker->name, 'MULTI'); ok($locker->lock); ok(-f $lockfile); ok($locker->hasLock); # Already got lock, so should return immediately. ok($locker->lock); $locker->unlock; ok(not $locker->hasLock); Mail-Box-4.01/t/102mbox-delay.t0000644000175000001440000001003515117245043016501 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test delay-loading on mbox folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Mbox; use Test::More tests => 288; use File::Compare; use File::Copy; # # We will work with a copy of the original to avoid that we write # over our test file. # copy $src, $cpy or die "Cannot create test folder $cpy: $!\n"; my $folder = Mail::Box::Mbox->new ( folder => "=$cpyfn" , folderdir => $workdir , lock_type => 'NONE' , extract => 'LAZY' , access => 'rw' ); die "Couldn't read $cpy: $!\n" unless $folder; # # Check that the whole folder is continuous # my $blank = $crlf_platform ? 2 : 1; my ($end, $msgnr) = (-$blank, 0); foreach my $message ($folder->messages) { my ($msgbegin, $msgend) = $message->fileLocation; my ($headbegin, $headend) = $message->head->fileLocation; my ($bodybegin, $bodyend) = $message->body->fileLocation; cmp_ok($msgbegin, "==", $end+$blank, "begin $msgnr"); cmp_ok($headbegin, ">", $msgbegin, "end $msgnr"); cmp_ok($bodybegin, "==", $headend, "glue $msgnr"); $end = $bodyend; $msgnr++; } cmp_ok($end+$blank , "==", -s $folder->filename, "full folder read"); # # None of the messages should be modified. # my $modified = 0; $modified ||= $_->modified foreach $folder->messages; ok(! $modified, "folder not modified"); # # Write unmodified folder to different file. # Because file-to-file copy of unmodified messages, the result must be # the same. # my $oldsize = -s $folder->filename; $folder->modified(1); # force write ok($folder->write, "writing folder"); cmp_ok($oldsize, "==", -s $folder->filename, "expected size"); # Try to read it back my $copy = new Mail::Box::Mbox ( folder => "=$cpyfn" , folderdir => $workdir , lock_type => 'NONE' , extract => 'LAZY' ); ok(defined $copy, "re-reading folder"); cmp_ok($folder->messages, "==", $copy->messages, "all messages found"); # Check also if the subjects are the same. my @f_subjects = map {$_->head->get('subject') ||''} $folder->messages; my @c_subjects = map {$_->head->get('subject') ||''} $copy->messages; while(@f_subjects) { my $f = shift @f_subjects; my $c = shift @c_subjects; last unless $f eq $c; } ok(!@f_subjects, "all msg-subjects found"); # # None of the messages should be parsed yet. # my $parsed = 0; $_->isParsed && $parsed++ foreach $folder->messages; cmp_ok($parsed, "==", 0, "none of the msgs parsed"); # # Check that the whole folder is continuous # ($end, $msgnr) = (-$blank, 0); foreach my $message ($copy->messages) { my ($msgbegin, $msgend) = $message->fileLocation; my ($headbegin, $headend) = $message->head->fileLocation; my ($bodybegin, $bodyend) = $message->body->fileLocation; #warn "($msgbegin, $msgend) ($headbegin, $headend) ($bodybegin, $bodyend)\n"; cmp_ok($msgbegin, "==", $end+$blank, "begin $msgnr"); cmp_ok($headbegin, ">", $msgbegin, "end $msgnr"); cmp_ok($bodybegin, "==", $headend, "glue $msgnr"); $end = $bodyend; $msgnr++; } cmp_ok($end+$blank, "==", -s $copy->filename, "written file size ok"); # # None of the messages should be parsed still. # $parsed = 0; $_->isParsed && $parsed++ foreach $copy->messages; cmp_ok($parsed, "==", 0, "none of the msgs parsed"); # # Force one message to be loaded. # my $message = $copy->message(3)->forceLoad; ok(ref $message, "force load of one msg"); my $body = $message->body; ok($message->isParsed); isa_ok($message, 'Mail::Message'); # # Ask for a new field from the header, which is not taken by # default. The message should get parsed. # ok(!defined $message->head->get('xyz')); ok(not $copy->message(2)->isParsed); ok(defined $copy->message(2)->head->get('x-mailer')); isa_ok($copy->message(2)->head, 'Mail::Message::Head::Complete'); ok(not $copy->message(2)->isParsed); unlink $cpy; Mail-Box-4.01/t/122maildir-append.t0000644000175000001440000000401215117245043017326 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test appending messages on Maildir folders. # use strict; use warnings; use lib qw(. .. tests); use Mail::Box::Test; use Mail::Box::Manager; use Mail::Message::Construct; use Test::More; use File::Compare; use File::Copy; BEGIN { if($windows) { plan skip_all => 'Filenames not compatible with Windows'; exit 1; } plan tests => 14; } my $mdsrc = File::Spec->catfile($workdir, 'maildir.src'); unpack_mbox2maildir($src, $mdsrc); my $mgr = Mail::Box::Manager->new; my $folder = $mgr->open ( folder => $mdsrc , extract => 'LAZY' , access => 'rw' , save_on_exit => 0 ); die "Couldn't read $mdsrc: $!\n" unless $folder; # We checked this in other scripts before, but just want to be # sure we have enough messages again. cmp_ok($folder->messages, "==", 45); # Add a message which is already in the opened folder. However, the # message heads are not yet parsed, hence the message can not be # ignored. my $message3 = $folder->message(3); ok($message3->isDelayed); my $added = $message3->clone; ok(defined $added); is(ref $added, 'Mail::Message'); ok(!$message3->isDelayed); my $coerced = $folder->addMessage($added); # coerced == added (reblessed) is(ref $added, 'Mail::Box::Maildir::Message'); is(ref $coerced, 'Mail::Box::Maildir::Message'); cmp_ok($folder->messages, "==", 45); ok(not $message3->deleted); ok($added->deleted); # # Create an Mail::Message and add this to the open folder. # my $msg = Mail::Message->build ( From => 'me@example.com' , To => 'you@anywhere.aq' , Subject => 'Just a try' , data => [ "a short message\n", "of two lines.\n" ] ); $coerced = $mgr->appendMessage($mdsrc, $msg); isa_ok($coerced, 'Mail::Box::Maildir::Message'); cmp_ok($folder->messages, "==", 46); cmp_ok($mgr->openFolders, "==", 1); $mgr->close($folder); # changes are not saved. cmp_ok($mgr->openFolders, "==", 0); $mgr->appendMessage($mdsrc, $msg , lock_type => 'NONE' , extract => 'LAZY' , access => 'rw' ); #clean_dir $mdsrc; Mail-Box-4.01/t/505parser-bodymp.t0000644000175000001440000001173215117245043017240 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the reading from file of message bodies which are multiparts # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Parser::Perl; use Mail::Message::Body::Lines; use Mail::Message::Body::Multipart; use Mail::Message::Head; use Test::More tests => 313; my $getbodytype = sub {'Mail::Message::Body::Lines'}; ### ### First pass through all messages, with correct data, if available ### my $parser = Mail::Box::Parser::Perl->new(filename => $src); ok(defined $parser, "creation of parser"); $parser->pushSeparator('From '); my (@msgs, $msgnr); while(1) { my (undef, $sep) = $parser->readSeparator; last unless $sep; $msgnr++; my $count = @msgs; like($sep, qr/^From /, "1 from $count"); my $head = Mail::Message::Head->new; ok(defined $head, "1 head count"); $head->read($parser); my $cl = int $head->get('Content-Length'); my $li = int $head->get('Lines'); unless($head->isMultipart) { # Skip non-multipart Mail::Message::Body::Lines->new->read($parser, $head, undef, $cl, $li); next; } my $message; my $body = Mail::Message::Body::Multipart->new(message => \$message); my $mp = $head->get('Content-Type')->comment; if($mp =~ m/['"](.*?)["']/) { $body->boundary($1); } $body->read($parser, $head, $getbodytype, $cl, $li); ok(defined $body, "1 body $count"); my $size = $body->size; my $lines = $body->nrLines; my $su = $head->get('Subject'); cmp_ok($lines, "==", $li, "1 lines $count") if defined $li; $cl -= $li if $crlf_platform; cmp_ok($size , "==", $cl, "1 size $count") if defined $cl; my $msg = { size => $size , lines => $lines , fields => scalar $head->names , sep => $sep , subject=> $su }; push @msgs, $msg; } cmp_ok(@msgs, "==", 3); $parser->stop; ### ### Now read the whole folder again, but without help of content-length ### and nor lines. ### undef $parser; $parser = Mail::Box::Parser::Perl->new(filename => $src); $parser->pushSeparator('From '); my $count = 0; while(1) { my (undef, $sep) = $parser->readSeparator; last unless $sep; like($sep, qr/^From /, "2 from $count"); my $head = Mail::Message::Head->new->read($parser); ok(defined $head, "2 head $count"); unless($head->isMultipart) { # Skip non-multipart Mail::Message::Body::Lines->new->read($parser, $head, undef); next; } my $msg = $msgs[$count]; my $message; my $body = Mail::Message::Body::Multipart->new(message => \$message); ok(defined $body, "2 body $count"); my $mp = $head->get('Content-Type')->comment; if($mp =~ m/['"](.*?)["']/) { $body->boundary($1); } $body->read($parser, $head, $getbodytype); my $su = $head->get('Subject'); my $size = $body->size; my $lines = $body->nrLines; cmp_ok($size, "==", $msg->{size}, "2 size $count"); cmp_ok($lines, "==", $msg->{lines}, "2 lines $count"); is($su, $msg->{subject}, "2 subject $count") if defined $su && defined $msg->{subject}; cmp_ok($head->names , "==", $msg->{fields}, "2 names $count"); is($sep, $msg->{sep}, "2 sep $count"); $count++; } $parser->stop; ### ### Now read the whole folder again, but with deceiving values for ### content-length and lines ### undef $parser; $parser = Mail::Box::Parser::Perl->new(filename => $src); $parser->pushSeparator('From '); $count = 0; while(1) { my (undef, $sep) = $parser->readSeparator; last unless $sep; like($sep, qr/^From /, "3 From $count"); my $head = Mail::Message::Head->new->read($parser); ok(defined $head, "3 Head $count"); unless($head->isMultipart) { # Skip non-multipart Mail::Message::Body::Lines->new->read($parser, $head, undef); next; } my $msg = $msgs[$count]; my $message; my $body = Mail::Message::Body::Multipart->new(message => \$message); ok(defined $body, "3 Body $count"); my $mp = $head->get('Content-Type')->comment; if($mp =~ m/['"](.*?)["']/) { $body->boundary($1); } $body->read($parser, $head, $getbodytype, $msg->{size}-15, $msg->{lines}-3); my $su = $head->get('Subject'); my $size = $body->size; my $lines = $body->nrLines; cmp_ok($size, '==', $msg->{size}, "3 size $count"); cmp_ok($lines, '==', $msg->{lines}, "3 lines $count"); is($su, $msg->{subject}, "3 subject $count") if defined $su && defined $msg->{subject}; cmp_ok($head->names, '==', $msg->{fields}, "3 name $count"); is($sep, $msg->{sep}, "3 sep $count"); $count++; } Mail-Box-4.01/t/123maildir-destruct.t0000644000175000001440000000216515117245043017724 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test reading and destructing Maildir folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Maildir; use Mail::Box::Mbox; use Test::More; use File::Compare; use File::Copy; BEGIN { if($windows) { plan skip_all => 'Filenames not compatible with Windows'; exit 1; } plan tests => 9; } my $mdsrc = File::Spec->catfile($workdir, 'maildir.src'); unpack_mbox2maildir($src, $mdsrc); ok(Mail::Box::Maildir->foundIn($mdsrc)); my $folder = Mail::Box::Maildir->new ( folder => $mdsrc , extract => 'LAZY' , access => 'r' , trace => 'NONE' ); ok(defined $folder); cmp_ok($folder->messages, "==", 45, 'all messages present'); isa_ok($folder->message(0), 'Mail::Box::Message'); ok(! $folder->message(0)->modified, 'message ok'); $_->destruct for $folder->messages(0,9); ok(! $folder->message(0)->modified, 'message destructed'); isa_ok($folder->message(0), 'Mail::Box::Message::Destructed'); isa_ok($folder->message(0), 'Mail::Box::Message'); isa_ok($folder->message(10), 'Mail::Box::Maildir::Message'); $folder->close(write => 'NEVER'); Mail-Box-4.01/t/501parser-head.t0000644000175000001440000000316015117245043016637 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the processing of a message header, in this case purely the reading # from a file. # use strict; use warnings; use Mail::Box::Test; use Mail::Message; use Mail::Message::Head; use Mail::Box::Parser::Perl; use Test::More tests => 16; my $h = Mail::Message::Head->new; ok(defined $h); my $parser = Mail::Box::Parser::Perl->new(filename => $src); ok($parser); my $head = Mail::Message::Head->new; ok(defined $head); ok(! $head); # no lines yet $parser->pushSeparator('From '); my ($where, $sep) = $parser->readSeparator; ok($sep); cmp_ok($where, "==", 0); like($sep , qr/^From mag.*2000$/); $head->read($parser); ok($head); # now has lines cmp_ok($head->names, "==", 20); is($head->get('subject'), 'Re: File Conversion From HTML to PS and TIFF'); my @received = $head->get('received'); cmp_ok(@received, "==", 5); my $received = $head->get('received'); #last ok(defined $received); is($received->name, 'received'); my $recb = "(from majordomo\@localhost)\tby unca-don.wizards.dupont.com (8.9.3/8.9.3) id PAA29389\tfor magick-outgoing"; is($received->body, $recb); is($received->comment, 'Wed, 9 Feb 2000 15:38:42 -0500 (EST)'); # Check parsing empty fields # Contributed by Marty Pauley my $message = <<'EOT'; Date: Mon, 24 Feb 2003 11:07:36 +0000 From: marty@kasei.com To: marty@kasei.com Subject: Test Message Message-ID: <20030224010736.GA32736@phobos.kasei.com> Mime-Version: 1.0 X-foo: Content-Type: text/plain Content-Disposition: inline This is a test message. EOT my $mm = Mail::Message->read($message); my $foo = $mm->head->get("x-foo")->string; is($foo, "X-foo: \n", "X-foo ok"); Mail-Box-4.01/t/111mh-write.t0000644000175000001440000000265415117245043016204 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test writing of MH folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::MH; use Mail::Box::Mbox; use Test::More tests => 54; use File::Compare; use File::Copy; my $mhsrc = File::Spec->catfile($workdir, 'mh.src'); unpack_mbox2mh($src, $mhsrc); my $folder = new Mail::Box::MH ( folder => $mhsrc , lock_type => 'NONE' , extract => 'LAZY' , access => 'rw' , keep_index => 1 ); ok(defined $folder); cmp_ok($folder->messages, "==", 45); my $msg3 = $folder->message(3); # Nothing yet... $folder->modified(1); $folder->write(renumber => 0); ok(compare_lists [sort {$a cmp $b} listdir $mhsrc], [sort {$a cmp $b} '.index', '.mh_sequences', 1..12, 14..46] ); $folder->modified(1); $folder->write(renumber => 1); ok(compare_lists [sort {$a cmp $b} listdir $mhsrc], [sort {$a cmp $b} '.index', '.mh_sequences', 1..45] ); $folder->message(2)->delete; ok($folder->message(2)->isDelayed); ok(defined $folder->message(3)->get('subject')); # load, creates index $folder->write; ok(compare_lists [sort {$a cmp $b} listdir $mhsrc], [sort {$a cmp $b} '.index', '.mh_sequences', 1..44] ); cmp_ok($folder->messages, "==", 44); $folder->message(8)->delete; ok($folder->message(8)->deleted); cmp_ok($folder->messages, "==", 44); $folder->write; cmp_ok($folder->messages, "==", 43); foreach ($folder->messages) { ok(! $_->deleted) } $folder->close; Mail-Box-4.01/t/504parser-bodyd.t0000644000175000001440000001275615117245043017055 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the reading from file of message bodies which have their content # stored in a single string. use strict; use warnings; use Mail::Box::Test; use Mail::Box::Parser::Perl; use Mail::Message::Head; use Mail::Message::Body::Delayed; use Test::More tests => 855; ### ### First carefully read the first message ### my $parser = Mail::Box::Parser::Perl->new(filename => $src); ok(defined $parser, "creation of parser"); $parser->pushSeparator('From '); my ($where, $sep) = $parser->readSeparator; cmp_ok($where, "==", 0, "begin at file-start"); ok(defined $sep, "reading first separator"); like($sep, qr/^From /, "correctness first separator") if defined $sep; my $head = Mail::Message::Head->new; ok(defined $head); $head->read($parser); ok(defined $head); ok($head, "overloaded boolean"); my $hard_coded_lines_msg0 = 33; my $hard_coded_length_msg0 = 1280; my $binary_size = $hard_coded_length_msg0 + ($crlf_platform ? $hard_coded_lines_msg0 : 0); my $length = int $head->get('Content-Length'); cmp_ok($length, "==", $binary_size, "first message size"); my $lines = int $head->get('Lines'); cmp_ok($lines, "==", $hard_coded_lines_msg0, "first message lines"); my $message; # dummy message, because all delayed objects must have one. my $body = Mail::Message::Body::Delayed->new(message => \$message); $body->read($parser, $head, undef, $length, $lines); ok(defined $body, "reading of first body"); cmp_ok($body->guessSize, "==", $length, "guessed size of body"); # # Try to read the rest of the folder, with specified content-length # and lines if available. # my @msgs; push @msgs, # first message already read. { fields => scalar $head->names , lines => $hard_coded_lines_msg0 , size => $hard_coded_length_msg0 , sep => $sep , subject=> $head->get('subject') }; while(1) { my ($where, $sep) = $parser->readSeparator; last unless $sep; my $count = @msgs; like($sep, qr/^From /, "1 from $count"); $head = Mail::Message::Head->new; ok(defined $head, "1 head count"); $head->read($parser); my $cl = int $head->get('Content-Length'); my $li = int $head->get('Lines'); my $su = $head->get('Subject'); $body = Mail::Message::Body::Delayed->new(message => \$message) ->read($parser, $head, undef, $cl, $li); ok(defined $body, "1 body $count"); my $size = $body->guessSize; cmp_ok($cl , "==", $size, "1 size $count") if defined $cl; my $msg = { size => $size , fields => scalar $head->names , sep => $sep , subject=> $su }; push @msgs, $msg; } cmp_ok(@msgs, "==", 45); $parser->stop; ### ### Now read the whole folder again, but without help of content-length ### and nor lines. ### undef $parser; $parser = Mail::Box::Parser::Perl->new(filename => $src); $parser->pushSeparator('From '); my $count = 0; while($sep = $parser->readSeparator) { my $msg = $msgs[$count]; like($sep, qr/^From /, "2 from $count"); $head = Mail::Message::Head->new->read($parser); ok(defined $head, "2 head $count"); $body = Mail::Message::Body::Delayed->new(message => \$message) ->read($parser, $head, undef); ok(defined $body, "2 body $count"); my $su = $head->get('Subject'); my $size = $body->guessSize; my $lines = $msg->{lines} = $body->nrLines; if($crlf_platform) { ok(1); # too complicated to test } else { cmp_ok($size, "==", $msg->{size}, "2 size $count"); } is($su, $msg->{subject}, "2 subject $count") if defined $su && defined $msg->{subject}; cmp_ok($head->names , "==", $msg->{fields}, "2 names $count"); is($sep, $msg->{sep}, "2 sep $count"); $count++; } $parser->stop; ### ### Now read the whole folder again, but with deceiving values for ### content-length and lines ### undef $parser; $parser = Mail::Box::Parser::Perl->new(filename => $src); $parser->pushSeparator('From '); $count = 0; while(1) { my ($where, $sep) = $parser->readSeparator; last unless $sep; my $msg = $msgs[$count]; like($sep, qr/^From /, "3 From $count"); $head = Mail::Message::Head->new->read($parser); ok(defined $head, "3 Head $count"); $body = Mail::Message::Body::Delayed->new(message => \$message); $body->read($parser, $head, undef, $msg->{size}-15, $msg->{lines}-3); ok(defined $body, "3 Body $count"); my $su = $head->get('Subject'); my $size = $body->guessSize; my $lines = $body->nrLines; # two messages contain one trailing blank, which is removed because # of the wrong number of lines. The will have an extra OK. my $wrong = $count==14 || $count==18; if($wrong) { ; } elsif($crlf_platform) { ok(1) } # too hard to test else { cmp_ok($size, '==', $msg->{size}, "3 size $count") } cmp_ok($lines, '==', $msg->{lines}, "3 lines $count") unless $wrong; is($su, $msg->{subject}, "3 subject $count") if defined $su && defined $msg->{subject}; cmp_ok($head->names, '==', $msg->{fields}, "3 name $count"); is($sep, $msg->{sep}, "3 sep $count"); $count++; } Mail-Box-4.01/t/114mh-thread.t0000644000175000001440000001110315117245043016311 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test threading of MH folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Manager; use Test::More tests => 5; use File::Spec; use List::Util 'sum'; my $mhsrc = File::Spec->catdir($workdir, 'mh.src'); unpack_mbox2mh($src, $mhsrc); my $mgr = Mail::Box::Manager->new; my $folder = $mgr->open ( folder => $mhsrc , lock_type => 'NONE' , extract => 'LAZY' , access => 'rw' ); my $threads = $mgr->threads(folder => $folder); cmp_ok($threads->known , "==", 0); my @all = $threads->sortedAll; cmp_ok(scalar(@all) , "==", 28); my $msgs = sum map {$_->numberOfMessages} @all; cmp_ok($msgs, "==", scalar($folder->messages)); my $out = join '', map {$_->threadToString} @all; my @lines = split /^/, $out; cmp_ok(@lines, '==', $folder->messages); $out = join '', sort @lines; my $dump_lf = <<'__DUMP_LF'; 1.3K Resize with Transparency< 1.2K *- Re: File Conversion From HTML to PS and TIFF< 2.1K `--*- Re: File Conversion From HTML to PS and TIFF< 2.1K `- Re: File Conversion From HTML to PS and TIFF< 1.4K Transparency question< 2.4K RE: Transparency question< 3.3K RE: Transparency question< 5.5K RE: Transparency question< 7.2K RE: Transparency question< 2.7K RE: jpeg2000 question< 1.2K *- Problem resizing images through perl script< 820 | `- Re: Problem resizing images through perl script< 1.8K | `- RE: Problem resizing images through perl script< 1.0K | `- Re: Problem resizing images through perl script< 1.2K `- Re: Convert HTM, HTML files to the .jpg format< 747 Undefined Symbol: SetWarningHandler< 1.1K `- Re: Undefined Symbol: SetWarningHandler< 1.8K *- Re: watermarks/embossing< 307 Re: Annotate problems (PR#298)< 573 `- Re: Annotate problems (PR#298)< 1.0K < 1.4K `- Re: your mail< 1.9K `- Re: your mail< 152 Re: your mail< 686 `- Re: your mail< 189 Re: your mail< 2.0K < 670 Re: your mail< 4.4K `- Re: your mail< 552 mailing list archives< 1.4K delegates.mgk set-up for unixware printing< 1.5K printing solution for UW 7.1< 1.4K *- Re: converts new sharpen factors< 1.2K New ImageMagick mailing list< 27 subscribe< 822 Confirmation for subscribe magick-developer< 63 `- Re: Confirmation for subscribe magick-developer< 11K Welcome to magick-developer< 1.7K core dump in simple ImageMagick example< 2.2K `- Re: core dump in simple ImageMagick example< 882 `- Re: core dump in simple ImageMagick example< 754 `- Re: core dump in simple ImageMagick example< 2.0K Core Dump on ReadImage< 1.0K `- Re: Core Dump on ReadImage< 1.6K Font metrics< __DUMP_LF my $dump_crlf = <<'__DUMP_CRLF'; 1.4K Resize with Transparency< 1.3K *- Re: File Conversion From HTML to PS and TIFF< 2.1K `--*- Re: File Conversion From HTML to PS and TIFF< 2.1K `- Re: File Conversion From HTML to PS and TIFF< 1.5K Transparency question< 2.5K RE: Transparency question< 3.4K RE: Transparency question< 5.7K RE: Transparency question< 7.4K RE: Transparency question< 2.8K RE: jpeg2000 question< 1.3K *- Problem resizing images through perl script< 843 | `- Re: Problem resizing images through perl script< 1.9K | `- RE: Problem resizing images through perl script< 1.0K | `- Re: Problem resizing images through perl script< 1.2K `- Re: Convert HTM, HTML files to the .jpg format< 766 Undefined Symbol: SetWarningHandler< 1.1K `- Re: Undefined Symbol: SetWarningHandler< 1.9K *- Re: watermarks/embossing< 316 Re: Annotate problems (PR#298)< 585 `- Re: Annotate problems (PR#298)< 1.0K < 1.4K `- Re: your mail< 2.0K `- Re: your mail< 156 Re: your mail< 703 `- Re: your mail< 194 Re: your mail< 2.0K < 684 Re: your mail< 4.5K `- Re: your mail< 569 mailing list archives< 1.4K delegates.mgk set-up for unixware printing< 1.5K printing solution for UW 7.1< 1.5K *- Re: converts new sharpen factors< 1.2K New ImageMagick mailing list< 28 subscribe< 847 Confirmation for subscribe magick-developer< 64 `- Re: Confirmation for subscribe magick-developer< 11K Welcome to magick-developer< 1.7K core dump in simple ImageMagick example< 2.2K `- Re: core dump in simple ImageMagick example< 908 `- Re: core dump in simple ImageMagick example< 770 `- Re: core dump in simple ImageMagick example< 2.0K Core Dump on ReadImage< 1.0K `- Re: Core Dump on ReadImage< 1.6K Font metrics< __DUMP_CRLF my $dump; # Restore the line endings and whitespace at the end # because my editor sometimes eats them: if( $Mail::Message::crlf_platform ) { $dump = $dump_crlf =~ s!<\r?\n!\n!gr } else { $dump = $dump_lf =~ s!<\r?\n!\n!gr }; $dump = join '', sort split /^/, $dump; compare_thread_dumps($out, $dump, 'sort thread full dump'); Mail-Box-4.01/t/200folder-copyto.t0000644000175000001440000000600615117245043017230 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test folder-to-folder copy # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Manager; use Test::More tests => 28; use File::Copy; use IO::Scalar; copy $src, $cpy or die "Copy failed"; # # Build a complex system with MH folders and sub-folders. # my $mgr = Mail::Box::Manager->new; my $folder = $mgr->open($cpy, lock_type => 'NONE'); ok defined $folder; unlink qw/a b c d e/; my $A = $mgr->open('a', type => 'mh', create => 1, access => 'w', lock_type => 'NONE'); ok defined $A, 'top folder A'; $mgr->copyMessage($A, $folder->message($_)) for 0..9; my $b = $A->openSubFolder('b', create => 1, access => 'w'); ok defined $b, 'subfolder b'; $mgr->copyMessage($b, $folder->message($_)) for 10..19; cmp_ok $b->messages, "==", 10; $b->close; my $c = $A->openSubFolder('c', create => 1, access => 'w'); ok defined $c, 'subfolder c'; $mgr->copyMessage($c, $folder->message($_)) for 20..29; my $d = $c->openSubFolder('d', create => 1, access => 'w'); ok defined $d, 'subfolder d'; $mgr->copyMessage($d, $folder->message($_)) for 30..39; $d->close; $c->close; $A->close; $folder->close; cmp_ok $mgr->openFolders , "==", 0, 'all folders closed'; # # Convert the built MH structure into MBOX # $A = $mgr->open('a', access => 'rw', lock_type => 'NONE'); ok $A, 'Open MH folder a'; my @sub = sort $A->listSubFolders; cmp_ok @sub, "==", 2, "a has two subfolders"; is $sub[0], 'b', " named b"; is $sub[1], 'c', " and c"; my $e = $mgr->open('e', type => 'mbox', create => 1, access => 'rw', lock_type => 'NONE'); cmp_ok $A->messages, "==", 10, "e has 10 messages"; $A->message($_)->delete for 3,4,8; ok defined $A->copyTo($e, select => 'ALL', subfolders => 0); cmp_ok($e->messages, "==", 10); $e->delete; $e = $mgr->open('e', type => 'mbox', create => 1, access => 'rw', lock_type => 'NONE'); ok defined $A->copyTo($e, select => 'DELETED', subfolders => 0); cmp_ok $e->messages, "==", 3; $e->delete; $e = $mgr->open('e', type => 'mbox', create => 1, access => 'rw', lock_type => 'NONE'); ok defined $A->copyTo($e, select => 'ACTIVE', subfolders => 'FLATTEN'); cmp_ok $e->messages, "==", 37; $e->delete; $e = $mgr->open('e', type => 'mbox', create => 1, access => 'rw', lock_type => 'NONE'); ok defined $e, "e is opened again"; ok defined $A->copyTo($e, select => 'ACTIVE', subfolders => 'RECURSE'), "copyTo reports success"; cmp_ok $e->messages, "==", 7, "e contains 7 messages"; my @subs = sort $e->listSubFolders; cmp_ok @subs, "==", 2, "e still has two subfolders"; is $subs[0], 'b', " named b"; is $subs[1], 'c', " and c"; $b = $e->openSubFolder('b'); ok defined $b, "opened subfolder b of e"; isa_ok $b, 'Mail::Box::Mbox', " which is a MBOX"; cmp_ok $b->messages , "==", 10, " and contains 10 messages"; ok $b->close, "b is closed"; $e->delete; $A->delete; Mail-Box-4.01/t/502parser-bodys.t0000644000175000001440000001277715117245043017075 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test the reading from file of message bodies which have their content # stored in a single string. use strict; use warnings; use Mail::Box::Test; use Mail::Box::Parser::Perl; use Mail::Message::Body::String; use Mail::Message::Head; use Test::More tests => 945; ### ### First carefully read the first message ### my $parser = Mail::Box::Parser::Perl->new(filename => $src); ok(defined $parser, "creation of parser"); exit 1 unless defined $parser; $parser->pushSeparator('From '); my ($where, $sep) = $parser->readSeparator; cmp_ok($where, "==", 0, "begin at file-start"); ok(defined $sep, "reading first separator"); like($sep, qr/^From /, "correctness first separator") if defined $sep; my $head = Mail::Message::Head->new; ok(defined $head); $head->read($parser); ok(defined $head); ok($head, "overloaded boolean"); my $hard_coded_lines_msg0 = 33; my $hard_coded_length_msg0 = 1280; my $binary_size = $hard_coded_length_msg0 + ($crlf_platform ? $hard_coded_lines_msg0 : 0); my $length = int $head->get('Content-Length'); cmp_ok($length, "==", $binary_size, "first message size"); my $lines = int $head->get('Lines'); cmp_ok($lines, "==", $hard_coded_lines_msg0, "first message lines"); my $body = Mail::Message::Body::String->new; $body->read($parser, $head, undef, $length, $lines); ok(defined $body, "reading of first body"); my @lines = $body->lines; $length -= @lines if $crlf_platform; cmp_ok($body->size, "==", $length, "size of body"); cmp_ok(@lines, "==", $lines, "lines of body"); # # Try to read the rest of the folder, with specified content-length # and lines if available. # my @msgs; push @msgs, # first message already read. { fields => scalar $head->names , lines => $hard_coded_lines_msg0 , size => $hard_coded_length_msg0 , sep => $sep , subject=> $head->get('subject') }; while(1) { my ($where, $sep) = $parser->readSeparator; last unless $sep; my $count = @msgs; like($sep, qr/^From /, "1 from $count"); $head = Mail::Message::Head->new; ok(defined $head, "1 head $count"); $head->read($parser); my $cl = int $head->get('Content-Length'); my $li = int $head->get('Lines'); my $su = $head->get('Subject'); $body = Mail::Message::Body::String->new ->read($parser, $head, undef, $cl, $li); ok(defined $body, "1 body $count"); my $size = $body->size; my $lines = $body->nrLines; cmp_ok($li , "==", $lines, "1 lines $count") if defined $li; $cl -= $li if $crlf_platform; cmp_ok($cl , "==", $size, "1 size $count") if defined $cl; my $msg = { size => $size , lines => $lines , fields => scalar $head->names , sep => $sep , subject=> $su }; push @msgs, $msg; } cmp_ok(@msgs, "==", 45); $parser->stop; ### ### Now read the whole folder again, but without help of content-length ### and nor lines. ### undef $parser; $parser = Mail::Box::Parser::Perl->new(filename => $src); $parser->pushSeparator('From '); my $count = 0; while($sep = $parser->readSeparator) { my $msg = $msgs[$count]; like($sep, qr/^From /, "2 from $count"); $head = Mail::Message::Head->new->read($parser); ok(defined $head, "2 head $count"); $body = Mail::Message::Body::String->new->read($parser, $head, undef); ok(defined $body, "2 body $count"); my $su = $head->get('Subject'); my $size = $body->size; my $lines = $body->nrLines; cmp_ok($size, "==", $msg->{size}, "2 size $count"); cmp_ok($lines, "==", $msg->{lines}, "2 lines $count"); is($su, $msg->{subject}, "2 subject $count") if defined $su && defined $msg->{subject}; cmp_ok($head->names , "==", $msg->{fields}, "2 names $count"); is($sep, $msg->{sep}, "2 sep $count"); $count++; } $parser->stop; ### ### Now read the whole folder again, but with deceiving values for ### content-length and lines ### undef $parser; $parser = Mail::Box::Parser::Perl->new(filename => $src); $parser->pushSeparator('From '); $count = 0; while(1) { my ($where, $sep) = $parser->readSeparator; last unless $sep; my $msg = $msgs[$count]; like($sep, qr/^From /, "3 From $count"); $head = Mail::Message::Head->new->read($parser); ok(defined $head, "3 Head $count"); $body = Mail::Message::Body::String->new; $body->read($parser, $head, undef, $msg->{size}-15, $msg->{lines}-3); ok(defined $body, "3 Body $count"); my $su = $head->get('Subject'); my $size = $body->size; my $lines = $body->nrLines; # two messages contain one trailing blank, which is removed because # of the wrong number of lines. The will have an extra OK. my $wrong = $count==14 || $count==18; cmp_ok($size, '==', $msg->{size}, "3 size $count") unless $wrong; cmp_ok($lines, '==', $msg->{lines}, "3 lines $count") unless $wrong; is($su, $msg->{subject}, "3 subject $count") if defined $su && defined $msg->{subject}; cmp_ok($head->names, '==', $msg->{fields}, "3 name $count"); is($sep, $msg->{sep}, "3 sep $count"); $count++; } Mail-Box-4.01/t/100mbox-read.t0000644000175000001440000000475315117245043016326 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test reading of mbox folders. # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Mbox; use Test::More; use File::Compare; my @src = (folder => "=$fn", folderdir => $folderdir); ok(Mail::Box::Mbox->foundIn(@src), 'check foundIn'); # # The folder is read. # my $folder = Mail::Box::Mbox->new(@src, lock_type => 'NONE', extract => 'ALWAYS'); ok defined $folder, 'check success open folder'; defined $folder or exit 1; cmp_ok scalar $folder->messages, '==', 45, 'none deleted'; cmp_ok $folder->nrMessages, '==', 45; is $folder->organization, 'FILE', 'folder organization FILE'; # # Extract one message. # my $message = $folder->message(2); ok defined $message, 'take one message'; isa_ok $message, 'Mail::Box::Message'; isa_ok $message, 'Mail::Box::Mbox::Message'; # # Extract a few messages. # my @some = $folder->messages(3,7); cmp_ok @some, "==", 5, 'take range of messages'; isa_ok $some[0], 'Mail::Box::Message'; # # All message should be parsed: extract => ALWAYS # my $parsed = 1; $parsed &&= $_->isParsed for $folder->messages; ok($parsed, 'all messages parsed'); # # Check whether all message's locations are nicely connected. # my $blank = $crlf_platform ? 2 : 1; #XXX Mail::Message fileLocation changed, in the hope to keep DKIM signatures valid over storage # in an MBOX folder. This may not be the right or a sufficient patch. $blank = 0; my ($end, $msgnr) = (-$blank, 0); foreach $message ($folder->messages) { my ($msgbegin, $msgend) = $message->fileLocation; my ($headbegin, $headend) = $message->head->fileLocation; my ($bodybegin, $bodyend) = $message->body->fileLocation; #warn "($msgbegin, $msgend) ($headbegin, $headend) ($bodybegin, $bodyend)\n"; cmp_ok($msgbegin, "==", $end+$blank, "begin $msgnr"); cmp_ok($headbegin, ">", $msgbegin, "end $msgnr"); cmp_ok($bodybegin, "==", $headend, "glue $msgnr"); $end = $bodyend; $msgnr++; } cmp_ok($end+$blank, "==", -s $folder->filename); # # Try to delete a message # ok !$folder->message(2)->deleted, 'msg2 not yet deleted'; $folder->message(2)->delete; ok $folder->message(2)->deleted, 'flag msg for deletion'; cmp_ok $folder->messages , "==", 45, 'deletion not performed yet'; cmp_ok $folder->messages('ACTIVE') , "==", 44, 'less messages ACTIVE'; cmp_ok $folder->messages('DELETED') , "==", 1, 'more messages DELETED'; $folder->close(write => 'NEVER'); done_testing; Mail-Box-4.01/t/115mh-seqs.t0000644000175000001440000000301015117245043016014 0ustar00markovusers00000000000000#!/usr/bin/env perl # # Test mh-sequences # use strict; use warnings; use Mail::Box::Test; use Mail::Box::Manager; use Test::More tests => 11; use File::Spec; my $mhsrc = File::Spec->catfile($workdir, 'mh.src'); my $seq = File::Spec->catfile($mhsrc, '.mh_sequences'); unpack_mbox2mh($src, $mhsrc); # Create a sequences file. open my $sh, ">$seq" or die "Cannot write to $seq: $!\n"; # Be warned that message number 13 has been skipped from the MH-box. $sh->print(<<'MH_SEQUENCES'); unseen: 12-15 3 34 36 16 cur: 5 MH_SEQUENCES $sh->close; my $mgr = Mail::Box::Manager->new; my $folder = $mgr->open ( folder => $mhsrc , folderdir => 't' , lock_type => 'NONE' , extract => 'LAZY' , access => 'rw' , save_on_exit => 0 ); die "Couldn't read $mhsrc: $!\n" unless $folder; isa_ok($folder, 'Mail::Box::MH'); ok($folder->message(1)->label('seen')); ok(not $folder->message(2)->label('seen')); ok($folder->message(3)->label('seen')); ok($folder->message(4)->label('current')); is($folder->current->messageID, $folder->message(4)->messageID); ok(not $folder->message(1)->label('current')); $folder->current($folder->message(1)); ok(not $folder->message(0)->label('current')); ok($folder->message(1)->label('current')); $folder->modified(1); $folder->close(write => 'ALWAYS'); open $sh, $seq or die "Cannot read from $seq: $!\n"; my @seq = <$sh>; $sh->close; my ($cur) = grep /^cur\: /, @seq; is($cur, "cur: 2\n"); my ($unseen) = grep /^unseen\: /, @seq; is($unseen, "unseen: 3 12-15 33 35\n"); Mail-Box-4.01/lib/0000755000175000001440000000000015117245237014341 5ustar00markovusers00000000000000Mail-Box-4.01/lib/Mail/0000755000175000001440000000000015117245237015223 5ustar00markovusers00000000000000Mail-Box-4.01/lib/Mail/Box/0000755000175000001440000000000015117245237015753 5ustar00markovusers00000000000000Mail-Box-4.01/lib/Mail/Box/Identity.pm0000644000175000001440000001176115117245222020102 0ustar00markovusers00000000000000# This code is part of Perl distribution Mail-Box version 4.01. # The POD got stripped from this file by OODoc version 3.05. # For contributors see file ChangeLog. # This software is copyright (c) 2001-2025 by Mark Overmeer. # This is free software; you can redistribute it and/or modify it under # the same terms as the Perl 5 programming language system itself. # SPDX-License-Identifier: Artistic-1.0-Perl OR GPL-1.0-or-later package Mail::Box::Identity;{ our $VERSION = '4.01'; } use parent qw/User::Identity::Item Mail::Reporter/; use strict; use warnings; use Log::Report 'mail-box', import => [ qw/__x error/ ]; use Mail::Box::Collection (); # tests in tests/52message/30collect.t #-------------------- sub new(@) { my $class = shift; unshift @_, 'name' if @_ % 2; $class->Mail::Reporter::new(@_); } sub init($) { my ($self, $args) = @_; $self->Mail::Reporter::init($args); $self->User::Identity::init($args); $self->{MBI_location} = delete $args->{location}; $self->{MBI_ftype} = delete $args->{folder_type}; $self->{MBI_manager} = delete $args->{manager}; $self->{MBI_subf_type} = delete $args->{subf_type}||'Mail::Box::Collection'; $self->{MBI_only_subs} = delete $args->{only_subs}; $self->{MBI_marked} = delete $args->{marked}; $self->{MBI_deleted} = delete $args->{deleted}; $self->{MBI_inferiors} = exists $args->{inferiors} ? $args->{inferiors} : 1; $self; } #-------------------- sub type { "mailbox" } sub fullname(;$) { my $self = shift; my $delim = @_ && defined $_[0] ? shift : '/'; my $parent = $self->parent or return $self->name; $parent->parent->fullname($delim) . $delim . $self->name; } sub location(;$) { my $self = shift; return ($self->{MBI_location} = shift) if @_; return $self->{MBI_location} if defined $self->{MBI_location}; my $parent = $self->parent or error __x"toplevel directory requires explicit location."; $self->folderType->nameOfSubFolder($self->name, $parent->parent->location) } sub folderType() { my $self = shift; return $self->{MBI_ftype} if defined $self->{MBI_ftype}; my $parent = $self->parent or error __x"toplevel directory requires explicit folder type."; $parent->parent->folderType; } sub manager() { my $self = shift; return $self->{MBI_manager} if $self->{MBI_manager}; my $parent = $self->parent or return undef; $self->parent->manager; } sub topfolder() { my $self = shift; my $parent = $self->parent or return $self; $parent->parent->topfolder; } sub onlySubfolders(;$) { my $self = shift; return($self->{MBI_only_subs} = shift) if @_; return $self->{MBI_only_subs} if exists $self->{MBI_only_subs}; $self->parent ? 1 : ! $self->folderType->topFolderWithMessages; } sub marked(;$) { my $self = shift; @_ ? ($self->{MBI_marked} = shift) : $self->{MBI_marked}; } sub inferiors(;$) { my $self = shift; @_ ? ($self->{MBI_inferiors} = shift) : $self->{MBI_inferiors}; } sub deleted(;$) { my $self = shift; @_ ? ($self->{MBI_deleted} = shift) : $self->{MBI_deleted}; } #-------------------- sub subfolders() { my $self = shift; my $subs = $self->collection('subfolders'); return (wantarray ? $subs->roles : $subs) if defined $subs; my @subs; if(my $location = $self->location) { @subs = $self->folderType->listSubFolders(folder => $location); } else { my $mgr = $self->manager; my $top = defined $mgr ? $mgr->folderdir : '.'; @subs = $self->folderType->listSubFolders(folder => $self->fullname, folderdir => $top); } @subs or return (); my $subf_type = $self->{MBI_subf_type} || ref($self->parent) || 'Mail::Box::Collection'; $subs = $subf_type->new('subfolders'); $self->addCollection($subs); $subs->addRole(name => $_) for @subs; wantarray ? $subs->roles : $subs; } sub subfolderNames() { map $_->name, $_[0]->subfolders } sub folder(@) { my $self = shift; return $self unless @_ && defined $_[0]; my $subs = $self->subfolders or return undef; my $nest = $subs->find(shift) or return undef; $nest->folder(@_); } sub open(@) { my $self = shift; $self->manager->open($self->fullname, type => $self->folderType, @_); } sub foreach($) { my ($self, $code) = @_; $code->($self); my $subs = $self->subfolders or return (); $_->foreach($code) for $subs->sorted; $self; } sub addSubfolder(@) { my $self = shift; my $subs = $self->subfolders; if(defined $subs) { ; } elsif(!$self->inferiors) { my $name = $self->fullname; error __x"it is not permitted to add subfolders to {folder}.", folder => $name; return undef; } else { $subs = $self->{MBI_subf_type}->new('subfolders'); $self->addCollection($subs); } $subs->addRole(@_); } sub remove(;$) { my $self = shift; my $parent = $self->parent or error __x"the toplevel folder cannot be removed this way."; @_ or return $parent->removeRole($self->name); my $name = shift; my $subs = $self->subfolders or return (); $subs->removeRole($name); } sub rename($;$) { my ($self, $folder, $newname) = @_; $newname //= $self->name; my $away = $self->remove; $away->name($newname); $folder->addSubfolder($away); } 1; Mail-Box-4.01/lib/Mail/Box/Dir.pm0000644000175000001440000000501315117245222017020 0ustar00markovusers00000000000000# This code is part of Perl distribution Mail-Box version 4.01. # The POD got stripped from this file by OODoc version 3.05. # For contributors see file ChangeLog. # This software is copyright (c) 2001-2025 by Mark Overmeer. # This is free software; you can redistribute it and/or modify it under # the same terms as the Perl 5 programming language system itself. # SPDX-License-Identifier: Artistic-1.0-Perl OR GPL-1.0-or-later package Mail::Box::Dir;{ our $VERSION = '4.01'; } use parent 'Mail::Box'; use strict; use warnings; use Log::Report 'mail-box', import => [ qw/__x error warning/ ]; use Mail::Box::Dir::Message (); use Mail::Message::Body::Lines (); use Mail::Message::Body::File (); use Mail::Message::Body::Delayed (); use Mail::Message::Body::Multipart (); use Mail::Message::Head (); use Mail::Message::Head::Delayed (); use File::Spec::Functions qw/rel2abs/; #-------------------- sub init($) { my ($self, $args) = @_; $args->{body_type} //= sub { 'Mail::Message::Body::Lines' }; $self->SUPER::init($args); my $class = ref $self; my $directory = $self->{MBD_directory} = $args->{directory} || $self->directory; if(-d $directory) {;} elsif($args->{create} && $class->create($directory, %$args)) { ;} else { error __x"no directory {dir} for folder of type.", dir => $directory, type => $class; } # About locking my $lf = $args->{lock_file} // '.lock'; $self->locker->filename(rel2abs $lf, $directory); # Check if we can write to the folder, if we need to. if($self->writable && -e $directory && ! -w $directory) { warning __x"folder directory {dir} is write-protected.", dir => $directory; $self->access('r'); } $self; } #-------------------- sub organization() { 'DIRECTORY' } #-------------------- sub directory() { my $self = shift; $self->{MBD_directory} ||= $self->folderToDirectory($self->name, $self->folderdir); } sub nameOfSubFolder($;$) { my ($thing, $name) = (shift, shift); my $parent = @_ ? shift : ref $thing ? $thing->directory : undef; defined $parent ? "$parent/$name" : $name; } #-------------------- sub folderToDirectory($$) { my ($class, $name, $folderdir) = @_; my $dir = ($name =~ m#^=\/?(.*)# ? "$folderdir/$1" : $name); $dir =~ s!/$!!r; } sub storeMessage($) { my ($self, $message) = @_; $self->SUPER::storeMessage($message); my $fn = $message->filename or return $message; $self->{MBD_by_fn}{$fn} = $message; } sub messageInFile($) { $_[0]->{MBD_by_fn}{$_[1]} } sub readMessageFilenames() { $_[0]->notImplemented } 1; Mail-Box-4.01/lib/Mail/Box/Manage/0000755000175000001440000000000015117245237017143 5ustar00markovusers00000000000000Mail-Box-4.01/lib/Mail/Box/Manage/User.pod0000644000175000001440000003444415117245222020570 0ustar00markovusers00000000000000=encoding utf8 =head1 NAME Mail::Box::Manage::User - manage the folders of a user =head1 INHERITANCE Mail::Box::Manage::User is a Mail::Box::Manager is a Mail::Reporter Mail::Box::Manage::User is extended by Mail::Server::IMAP4::User =head1 SYNOPSIS use Mail::Box::Manage::User; use User::Identity; my $id = User::Identity->new(...); my $user = Mail::Box::Manage::User->new( identity => $id, folderdir => "$ENV{HOME}/Mail", inbox => $ENV{MAIL}, ); my $inbox = $user->open($user->inbox); my $top = $user->topfolder; =head1 DESCRIPTION Where the L takes care of some set of open folder, this extension will add knowledge about some related person. At the same time, it will try to cache some information about that person's folder files. Extends L<"DESCRIPTION" in Mail::Box::Manager|Mail::Box::Manager/"DESCRIPTION">. =head1 METHODS Extends L<"METHODS" in Mail::Box::Manager|Mail::Box::Manager/"METHODS">. =head2 Constructors Extends L<"Constructors" in Mail::Box::Manager|Mail::Box::Manager/"Constructors">. =over 4 =item $class-EB(%options) Use L to explicitly state which kind of folders you use. Improves base, see L -Option --Defined in --Default autodetect Mail::Box::Manager undef collection_type Mail::Box::Collection default_folder_type Mail::Box::Manager 'mbox' delimiter "/" folder_id_type Mail::Box::Identity folder_types Mail::Box::Manager folderdir Mail::Box::Manager [ '.' ] folderdirs Mail::Box::Manager > identity inbox undef topfolder_name '=' =over 2 =item autodetect => $type|\@types =item collection_type => $class Subfolders grouped together. =item default_folder_type => $type|CLASS =item delimiter => STRING The separator used in folder names. This doesn't need to be the same as your directory system is using. =item folder_id_type => CLASS|OBJECT =item folder_types => $typedef|\@typedefs =item folderdir => DIRECTORY =item folderdirs => [DIRECTORIES] =item identity => OBJECT The main difference between the L and this class, is the concept of some person (or virtual person) who's files are being administered by this object. The OBJECT is an L. The smallest identity that will do: C<< my $id = User::Identity->new('myname') >> =item inbox => $name The C<$name> of the user's inbox. =item topfolder_name => $name =back =back =head2 Attributes Extends L<"Attributes" in Mail::Box::Manager|Mail::Box::Manager/"Attributes">. =over 4 =item $obj-EB() Inherited, see L =item $obj-EB() Folder path delimiter =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Returns a L object. =item $obj-EB( [$name] ) (Set and) get the C<$name> of the mailbox which is considered the folder for incoming mail. In many protocols, this folder is handled separately. For instance in IMAP this is the only case-insensitive folder name. =item $obj-EB($type, $class, %options) Inherited, see L =item $obj-EB( [@params] ) Inherited, see L =item $obj-EB() Returns the top folder of the user's mailbox storage. =back =head2 Manage open folders Extends L<"Manage open folders" in Mail::Box::Manager|Mail::Box::Manager/"Manage open folders">. =over 4 =item $obj-EB($folder, %options) Inherited, see L =item $obj-EB(%options) Inherited, see L =item $obj-EB($folder) Inherited, see L =item $obj-EB( [$foldername], %options ) Inherited, see L =item $obj-EB() Inherited, see L =back =head2 Manage existing folders Extends L<"Manage existing folders" in Mail::Box::Manager|Mail::Box::Manager/"Manage existing folders">. =over 4 =item $obj-EB($name, %options) Creates a new folder with the specified name. An folder's administrative structure (L) is returned, but the folder is not opened. In the accidental case that the folder already exists, a warning will be issued, and an empty list/C returned. The C<%options> are passed to L of your default folder type, except for the options intended for this method itself. -Option --Default create_real true create_supers false deleted false id_options [] =over 2 =item create_real => BOOLEAN When this option is C, the pysical folder will not be created, but only the administration is updated. =item create_supers => BOOLEAN When you create a folder where upper hierarchy level are missing, they will be created as well. =item deleted => BOOLEAN The folder starts as deleted. =item id_options => ARRAY Values passed to the instantiated L. That object is very picky about the initiation values it accepts. =back =item $obj-EB($name) Remove all signs from the folder on the file-system. Messages still in the folder will be removed. This method returns a C value when the folder has been removed or not found, so "C" means failure. It is also possible to delete a folder using C<< $folder->delete >>, which will call this method here. OPTIONS, which are used for some other folder types, will be ignored here: the user's index contains the required details. Improves base, see L -Option --Defined in --Default recursive Mail::Box::Manager =over 2 =item recursive => BOOLEAN =back » example: how to delete a folder print "no xyz (anymore)\n" if $user->delete('xyz'); =item $obj-EB($name) Returns the folder description, a L. =item $obj-EB($name) Returns a pair: the folder collection (L) and the base name of C<$name>. =item $obj-EB($oldname, $newname, %options) Rename the folder with name C<$oldname> to C<$newname>. Both names are full pathnames. -Option --Default create_supers false =over 2 =item create_supers => BOOLEAN When you rename a folder to a place where upper hierarchy levels are missing, they will get be defined, but with the deleted flag set. =back =back =head2 Move messages to folders Extends L<"Move messages to folders" in Mail::Box::Manager|Mail::Box::Manager/"Move messages to folders">. =over 4 =item $obj-EB( [$folder|$foldername], $messages, %options ) Inherited, see L =item $obj-EB( [$folder|$foldername], @messages, %options ) Inherited, see L =item $obj-EB( [$folder|$foldername], @messages, %options ) Inherited, see L =back =head2 Manage message threads Extends L<"Manage message threads" in Mail::Box::Manager|Mail::Box::Manager/"Manage message threads">. =over 4 =item $obj-EB( [@folders], %options ) Inherited, see L =back =head2 Internals Extends L<"Internals" in Mail::Box::Manager|Mail::Box::Manager/"Internals">. =over 4 =item $obj-EB($url) Inherited, see L =item $obj-EB($folder, $messages) Inherited, see L =item $obj-EB($folder, $messages) Inherited, see L =back =head2 Error handling Extends L<"Error handling" in Mail::Box::Manager|Mail::Box::Manager/"Error handling">. =over 4 =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =back =head2 Cleanup Extends L<"Cleanup" in Mail::Box::Manager|Mail::Box::Manager/"Cleanup">. =over 4 =item $obj-EB() Inherited, see L =back =head1 DETAILS Extends L<"DETAILS" in Mail::Box::Manager|Mail::Box::Manager/"DETAILS">. =head1 DIAGNOSTICS =over 4 =item Error: Folder $name is not a Mail::Box; cannot add a message. The folder where the message should be appended to is an object which is not a folder type which extends L. Probably, it is not a folder at all. Cast by C =item Error: Use appendMessage() to add messages which are not in a folder. You do not need to copy this message into the folder, because you do not share the message between folders. Cast by C =item Warning: Use moveMessage() or copyMessage() to move between open folders. The message is already part of a folder, and now it should be appended to a different folder. You need to decide between copy or move, which both will clone the message (not the body, because they are immutable). Cast by C =item Error: cannot create folder $name: higher levels missing. Unless you set L, all higher level folders must exist before this new one can be created. Cast by C =item Error: cannot rename folder $from to $to: higher levels are missing. Unless you set L, all higher level folders must exist before this new one can be created. Cast by C =item Error: class $package does not implement method $method. Fatal error: the specific C<$package> (or one of its superclasses) does not implement this method where it should. This message means that some other related classes do implement this method however the class at hand does not. Probably you should investigate this and probably inform the author of the package. Cast by C =item Error: failed for folder default $class: $@ Cast by C =item Error: folder $name already exists. Cast by C =item Error: folder $name does not exist, failed opening $type. The folder does not exist and creating is not permitted (see L) or did not succeed. When you do not have sufficient access rights to the folder (for instance wrong password for POP3), this warning will be produced as well. The manager tried to open a folder of the specified type. It may help to explicitly state the type of your folder with the C option. There will probably be another warning or error message which is related to this report and provides more details about its cause. You may also have a look at L and L. Cast by C =item Error: folder $name is already open. You cannot ask the manager for a folder which is already open. In some older releases (before MailBox 2.049), this was permitted, but then behaviour changed, because many nasty side-effects are to be expected. For instance, an L on one folder handle would influence the second, probably unexpectedly. Cast by C =item Error: folder $name not under top. Cast by C =item Warning: folder type $type is unknown, using autodetect. The specified folder type (see L, possibly derived from the folder name when specified as url) is not known to the manager. This may mean that you forgot to require the L extension which implements this folder type, but probably it is a typo. Usually, the manager is able to figure-out which type to use by itself. Cast by C =item Error: illegal folder URL '$url'. The folder name was specified as URL, but not according to the syntax. See L for an description of the syntax. Cast by C =item Error: no foldername specified to open. L needs a folder name as first argument (before the list of options), or with the C option within the list. If no name was found, the MAIL environment variable is checked. When even that does not result in a usable folder, then this error is produced. The error may be caused by an accidental odd-length option list. Cast by C =item Error: source folder for rename does not exist: $from to $to. Cast by C =item Error: threader $class is not derived from $base. Cast by C =item Error: unusable threader $class: $@ Cast by C =item Error: user manager requires an identity. Cast by C =item Warning: will never create a folder $name without having write access. You have set L, but only want to read the folder. Create is only useful for folders which have write or append access modes (see L). Cast by C =item Error: you need to pass a $base derived threader, got $class. Cast by C =back =head1 SEE ALSO This module is part of Mail-Box version 4.01, built on December 13, 2025. Website: F =head1 LICENSE For contributors see file ChangeLog. This software is copyright (c) 2001-2025 by Mark Overmeer. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. Mail-Box-4.01/lib/Mail/Box/Manage/User.pm0000644000175000001440000001044515117245222020415 0ustar00markovusers00000000000000# This code is part of Perl distribution Mail-Box version 4.01. # The POD got stripped from this file by OODoc version 3.05. # For contributors see file ChangeLog. # This software is copyright (c) 2001-2025 by Mark Overmeer. # This is free software; you can redistribute it and/or modify it under # the same terms as the Perl 5 programming language system itself. # SPDX-License-Identifier: Artistic-1.0-Perl OR GPL-1.0-or-later package Mail::Box::Manage::User;{ our $VERSION = '4.01'; } use parent 'Mail::Box::Manager'; use strict; use warnings; use Log::Report 'mail-box', import => [ qw/__x error panic trace warning/ ]; use Mail::Box::Collection (); #-------------------- sub init($) { my ($self, $args) = @_; $self->SUPER::init($args); my $identity = $self->{MBMU_id} = $args->{identity} or error __x"user manager requires an identity."; my $top = $args->{folder_id_type} // 'Mail::Box::Identity'; my $coltype = $args->{collection_type} // 'Mail::Box::Collection'; unless(blessed $top) { my $name = $args->{topfolder_name}; $name //= '='; # MailBox's abbrev to top $top = $top->new( name => $name, manager => $self, location => scalar($self->folderdir), folder_type => $self->defaultFolderType, collection_type => $coltype, ); } $self->{MBMU_top} = $top; $self->{MBMU_delim} = $args->{delimiter} || '/'; $self->{MBMU_inbox} = $args->{inbox}; $self; } #-------------------- sub identity() { $_[0]->{MBMU_id} } sub delimiter() { $_[0]->{MBMU_delim} } sub topfolder() { $_[0]->{MBMU_top} } sub inbox(;$) { my $self = shift; @_ ? ($self->{MBMU_inbox} = shift) : $self->{MBMU_inbox}; } #-------------------- # A lot of work still has to be done here: all moves etc must inform # the "existence" administration as well. #-------------------- sub folder($) { my ($self, $name) = @_; my $top = $self->topFolder or return (); my @path = split $self->delimiter, $name; (shift @path) eq $top->name or return (); $top->folder(@path); } sub folderCollection($) { my ($self, $name) = @_; my $top = $self->topFolder or return (); my @path = split $self->delimiter, $name; shift @path eq $top->name or error __x"folder {name} not under top.", name => $name; my $base = pop @path; ($top->folder(@path), $base); } # This feature is thoroughly tested in the Mail::Box::Netzwert distribution sub create($@) { my ($self, $name, %args) = @_; my ($dir, $base) = $self->folderCollection($name); unless(defined $dir) { $args{create_supers} or error __x"cannot create folder {name}: higher levels missing.", name => $name; my $delim = $self->delimiter; my $upper = $name =~ s!$delim$base!!r or panic "$name - $base"; $dir = $self->create($upper, %args, deleted => 1); } my $id = $dir->folder($base); if(!defined $id) { my $idopt = $args{id_options} || []; $id = $dir->addSubfolder($base, @$idopt, deleted => $args{deleted}); } elsif($args{deleted}) { $id->deleted(1); return $id; } elsif($id->deleted) { # Revive! Raise the death! $id->deleted(0); } else { # Bumped into existing folder error __x"folder {name} already exists.", name => $name; } $self->defaultFolderType->create($id->location, %args) if ! exists $args{create_real} || $args{create_real}; $id; } sub delete($) { my ($self, $name) = @_; my $folder = $self->folder($name) or return (); $folder->remove; $self->SUPER::delete($name); } sub rename($$@) { my ($self, $oldname, $newname, %args) = @_; my $old = $self->folder($oldname) or error __x"source folder for rename does not exist: {from} to {to}.", from => $oldname, to => $newname; my ($newdir, $base) = $self->folderCollection($newname); unless(defined $newdir) { $args{create_supers} or error __x"cannot rename folder {from} to {to}: higher levels are missing.", from => $oldname, to => $newname; my $delim = $self->delimiter; my $upper = $newname =~ s!$delim$base!!r or panic "$newname - $base"; $newdir = $self->create($upper, %args, deleted => 1); } my $oldlocation = $old->location; my $new = $old->rename($newdir, $base); my $newlocation = $new->location; $oldlocation eq $newlocation or panic "Physical folder relocation not yet implemented"; #XXX # this needs a $old->rename(xx,yy) which isn't implemented yet trace "renamed folder $oldname to $newname"; $new; } 1; Mail-Box-4.01/lib/Mail/Box/Maildir.pm0000644000175000001440000002141315117245221017664 0ustar00markovusers00000000000000# This code is part of Perl distribution Mail-Box version 4.01. # The POD got stripped from this file by OODoc version 3.05. # For contributors see file ChangeLog. # This software is copyright (c) 2001-2025 by Mark Overmeer. # This is free software; you can redistribute it and/or modify it under # the same terms as the Perl 5 programming language system itself. # SPDX-License-Identifier: Artistic-1.0-Perl OR GPL-1.0-or-later package Mail::Box::Maildir;{ our $VERSION = '4.01'; } use parent 'Mail::Box::Dir'; use strict; use warnings; use Log::Report 'mail-box', import => [ qw/__x error fault info trace/ ]; use Mail::Box::Maildir::Message; use File::Copy qw/move/; use File::Basename qw/basename/; use Sys::Hostname qw/hostname/; use File::Remove qw/remove/; # Maildir is only supported on UNIX, because the filenames probably # do not work on other platforms. Since MailBox 2.052, the use of # File::Spec to create filenames has been removed: benchmarks showed # that catfile() consumed 20% of the time of a folder open(). And # '/' file separators work on Windows too! #-------------------- my $default_folder_dir = exists $ENV{HOME} ? "$ENV{HOME}/.maildir" : '.'; sub init($) { my ($self, $args) = @_; ! exists $args->{locker} && (! defined $args->{lock_type} || $args->{lock_type} eq 'NONE') or error __x"no locking possible for maildir folders."; $args->{lock_type} = 'NONE'; $args->{folderdir} ||= $default_folder_dir; $self->SUPER::init($args); $self->acceptMessages if $args->{accept_new}; $self; } sub create($@) { my ($thingy, $name, %args) = @_; my $class = ref $thingy || $thingy; my $folderdir = $args{folderdir} || $default_folder_dir; my $directory = $class->folderToDirectory($name, $folderdir); $class->createDirs($directory); trace "created folder Maildir $name."; $directory; } sub foundIn($@) { my $class = shift; my $name = @_ % 2 ? shift : undef; my %args = @_; my $folderdir = $args{folderdir} || $default_folder_dir; my $directory = $class->folderToDirectory($name, $folderdir); -d "$directory/cur"; } sub type() { 'maildir' } sub listSubFolders(@) { my ($class, %args) = @_; my $dir; if(ref $class) { $dir = $class->directory; $class = ref $class; } else { my $folder = $args{folder} || '='; my $folderdir = $args{folderdir} || $default_folder_dir; $dir = $class->folderToDirectory($folder, $folderdir); } $args{skip_empty} ||= 0; $args{check} ||= 0; # Read the directories from the directory, to find all folders # stored here. Some directories have to be removed because they # are created by all kinds of programs, but are no folders. -d $dir && opendir my $dh, $dir or return (); my @dirs; while(my $d = readdir $dh) { next if $d =~ m/^(new|tmp|cur|\.\.?)$/; my $dir = "$dir/$d"; push @dirs, $d if -d $dir; } closedir $dh; # Skip empty folders. @dirs = grep !$class->folderIsEmpty("$dir/$_"), @dirs if $args{skip_empty}; # Check if the files we want to return are really folders. @dirs = map { m/(.*)/ && $1 } @dirs; # untaint $args{check} or return @dirs; grep $class->foundIn("$dir/$_"), @dirs; } sub openSubFolder($@) { my ($self, $name) = (shift, shift); $self->createDirs($self->nameOfSubFolder($name)); $self->SUPER::openSubFolder($name, @_); } sub topFolderWithMessages() { 1 } my $uniq = rand 1000; sub coerce($) { my ($self, $message) = (shift, shift); my $is_native = $message->isa('Mail::Box::Maildir::Message'); my $coerced = $self->SUPER::coerce($message, @_); my $basename = $is_native ? basename($message->filename) : ($message->timestamp || time) .'.'. hostname .'.'. $uniq++; my $dir = $self->directory; $coerced->create("$dir/tmp/$basename"); my $new = $coerced->create("$dir/new/$basename"); trace "Added Maildir message in $new"; $coerced->labelsToFilename unless $is_native; $coerced; } #-------------------- sub createDirs($) { my ($thing, $dir) = @_; -d $dir || mkdir $dir or fault __x"cannot create Maildir folder directory {dir}", dir => $dir; foreach my $sub (qw/tmp new cur/) { my $subdir = "$dir/$sub"; -d $subdir || mkdir $subdir or fault __x"cannot create Maildir folder subdir {dir}", dir => $subdir; } $thing; } sub folderIsEmpty($) { my ($self, $dir) = @_; return 1 unless -d $dir; foreach my $sub (qw/tmp new cur/) { my $subdir = "$dir/$sub"; -d $subdir or next; opendir my $dh, $subdir or return 0; my $first = readdir $dh; closedir $dh; return 0 if defined $first; } opendir my $dh, $dir or return 1; while(my $entry = readdir $dh) { next if $entry =~ m/^(?:tmp|cur|new|bulletin(?:time|lock)|seriallock|\..?)$/; closedir $dh; return 0; } closedir $dh; 1; } sub delete(@) { my $self = shift; # Subfolders are not nested in the directory structure remove \1, $self->directory; } sub readMessageFilenames { my ($self, $dirname) = @_; opendir my $dh, $dirname or return (); my @files; if(${^TAINT}) { # unsorted list of untainted filenames. @files = map +(m/^([0-9][\w.:,=\-]+)$/ && -f "$dirname/$1" ? $1 : ()), readdir $dh; } else { # not running tainted @files = grep m/^([0-9][\w.:,=\-]+)$/ && -f "$dirname/$1", readdir $dh; } closedir $dh; # Sort the names. Solve the Y2K (actually the 1 billion seconds # since 1970 bug) which hunts Maildir. The timestamp, which is # the start of the filename will have some 0's in front, so each # timestamp has the same length. my %unified; m/^(\d+)/ and $unified{ ('0' x (10-length($1))).$_ } = $_ for @files; map "$dirname/$unified{$_}", sort keys %unified; } sub readMessages(@) { my ($self, %args) = @_; my $directory = $self->directory; -d $directory or return; # # Read all messages # my $curdir = "$directory/cur"; my @cur = map +[$_, 1], $self->readMessageFilenames($curdir); my $newdir = "$directory/new"; my @new = map +[$_, 0], $self->readMessageFilenames($newdir); foreach (@cur, @new) { my ($filename, $accepted) = @$_; my $message = $args{message_type}->new( head => $args{head_delayed_type}->new, filename => $filename, folder => $self, fix_header=> $self->fixHeaders, labels => [ accepted => $accepted ], ); my $body = $args{body_delayed_type}->new(message => $message); $message->storeBody($body) if $body; $self->storeMessage($message); } $self; } sub acceptMessages($) { my ($self, %args) = @_; my @accept = $self->messages('!accepted'); $_->accept foreach @accept; @accept; } sub writeMessages($) { my ($self, $args) = @_; # Write each message. Two things complicate life: # 1 - we may have a huge folder, which should not be on disk twice # 2 - we may have to replace a message, but it is unacceptable # to remove the original before we are sure that the new version # is on disk. my $writer = 0; my $directory = $self->directory; my @messages = @{$args->{messages}}; my $tmpdir = "$directory/tmp"; -d $tmpdir || mkdir $tmpdir or fault __x"cannot create directory {dir}", dir => $tmpdir; foreach my $message (@messages) { $message->isModified or next; my $filename = $message->filename; my $basename = basename $filename; my $newtmp = "$directory/tmp/$basename"; open my $new, '>:raw', $newtmp or fault __x"cannot create file {file}", file => $newtmp; $message->write($new); close $new; unlink $filename; move $newtmp, $filename or fault __x"cannot rename {from} to {to}", from => $newtmp, to => $filename; } # Remove an empty folder. This is done last, because the code before # in this method will have cleared the contents of the directory. if(!@messages && $self->removeEmpty) { # If something is still in the directory, this will fail, but I # don't mind. rmdir "$directory/cur"; rmdir "$directory/tmp"; rmdir "$directory/new"; rmdir $directory; } $self; } sub appendMessages(@) { my $class = shift; my %args = @_; my @messages = exists $args{message} ? $args{message} : exists $args{messages} ? @{$args{messages}} : return (); my $self = $class->new(@_, access => 'a'); my $directory= $self->directory; -d $directory or return; my $tmpdir = "$directory/tmp"; -d $tmpdir || mkdir $tmpdir or fault __x"cannot create directory {dir}", dir => $tmpdir; my $msgtype = $args{message_type} || 'Mail::Box::Maildir::Message'; foreach my $message (@messages) { my $is_native = $message->isa($msgtype); my ($basename, $coerced); if($is_native) { $coerced = $message; $basename = basename $message->filename; } else { $coerced = $self->SUPER::coerce($message); $basename = ($message->timestamp||time).'.'. hostname.'.'.$uniq++; } my $dir = $self->directory; $coerced->create("$dir/tmp/$basename"); my $new = $coerced->create("$dir/new/$basename"); trace "Appended Maildir message in $new"; } $self->close; @messages; } #-------------------- 1; Mail-Box-4.01/lib/Mail/Box/Manager.pod0000644000175000001440000005233315117245222020031 0ustar00markovusers00000000000000=encoding utf8 =head1 NAME Mail::Box::Manager - manage a set of folders =head1 INHERITANCE Mail::Box::Manager is a Mail::Reporter Mail::Box::Manager is extended by Mail::Box::Manage::User =head1 SYNOPSIS use Mail::Box::Manager; my $mgr = new Mail::Box::Manager; # Create folder objects. my $folder = $mgr->open(folder => $ENV{MAIL}); my $message1 = $folder->message(0); $mgr->copyMessage('Draft', $message); my @messages = $folder->message(0,3); $mgr->moveMessage('Outbox', @messages, create => 1 ); $mgr->close($folder); # Create thread-detectors (see Mail::Box::Thread::Manager) my $t = $mgr->discoverThreads($inbox, $outbox); my $threads = $mgr->discoverThreads(folder => $folder); foreach my $thread ($threads->all) { $thread->print; } $mgr->registerType(mbox => 'Mail::Box::MyType'); =head1 DESCRIPTION The manager keeps track on a set of open folders and a set of message-thread supporting objects. You are not obliged to use this object (you can directly create a L if you prefer), but you will create more portable and safer code if you do use it. Extends L<"DESCRIPTION" in Mail::Reporter|Mail::Reporter/"DESCRIPTION">. =head1 METHODS Extends L<"METHODS" in Mail::Reporter|Mail::Reporter/"METHODS">. =head2 Constructors Extends L<"Constructors" in Mail::Reporter|Mail::Reporter/"Constructors">. =over 4 =item $class-EB(%options) Inherited, see L -Option --Default autodetect undef default_folder_type 'mbox' folder_types folderdir [ '.' ] folderdirs > =over 2 =item autodetect => $type|\@types Select only a subset of the folder C<@types> which are implemented by MailBox to be detected automatically. This may improve the auto-detection of folder types. Normally, all folder types will be tried when a folder's name is incorrect, but this option limits the types which are checked and therefore may respond faster. =item default_folder_type => $type|CLASS Specifies the default folder C<$type> for newly created folders. If this option is not specified, the most recently registered type is used (see L and the L option. =item folder_types => $typedef|\@typedefs Add one or more new folder C<@typedefs> to the list of known types. The order is important: when you open a file without specifying its type, the manager will start trying the last added list of types, in order. Each C<$typedef> is specified as an array which contains name, class, and defaults for options which overrule the usual defaults. You may specify folder-specific defaults as OPTIONS. They override the settings of the manager. =item folderdir => DIRECTORY The default directory, or directories, where folders are located. The C can autodetect the existing folder-types. There may be different kinds of folders opened at the same time, and messages can be moved between those types, although that may result in a loss of information depending on the folder types. =item folderdirs => [DIRECTORIES] =back =back =head2 Attributes Extends L<"Attributes" in Mail::Reporter|Mail::Reporter/"Attributes">. =over 4 =item $obj-EB() Returns the default folder type, some class name. =item $obj-EB() Z<> =item $obj-EB() Returns the list of currently defined folder types. » example: print join("\n", $manager->folderTypes), "\n"; =item $obj-EB() In list context, this returns all folderdirs specified. In SCALAR context only the first. =item $obj-EB($type, $class, %options) With C you can register one C<$type> of folders. The C<$class> is compiled automatically, so you do not need to C them in your own modules. The C<$type> is just an arbitrary name. The added types are prepended to the list of known types, so they are checked first when a folder is opened in autodetect mode. » example: $manager->registerType(mbox => 'Mail::Box::Mbox', save_on_exit => 0, folderdir => '/tmp'); =item $obj-EB( [@params] ) [3.012] return the descovered threads (cached value). When any C<@params> are passed, then L will be called for backwards compatibility. =back =head2 Manage open folders =over 4 =item $obj-EB($folder, %options) Remove the specified C<$folder> from the index of open folders. Indirectly it will update the files on disk if needed (depends on the L flag for each folder). C<%options> are passed to L of the folder. The folder's messages will also be withdrawn from the known message threads. You may also close the folder directly. The manager will be informed about this event and take appropriate actions. -Option --Default close_by_self > =over 2 =item close_by_self => BOOLEAN Used internally to avoid confusion about how the close was started. Do not change this. =back » example: my $inbox = $mgr->open('inbox'); $mgr->close($inbox); $inbox->close; # alternative =item $obj-EB(%options) C calls close() for each folder managed by this object. It is called just before the program stops (before global cleanup). =item $obj-EB($folder) Returns C if the C<$folder> is currently open. » example: print "Yes\n" if $mgr->isOpenFolder('Inbox'); =item $obj-EB( [$foldername], %options ) Open a folder which name is specified as first parameter or with the option flag C. The folder type is autodetected unless the C is specified. C carries options for the manager which are described here, but may also have additional options for the folder type. For a description of the folder options, see the options to the constructor L for each type of mail box. -Option --Default authenticate 'AUTO' create false folder $ENV{MAIL} folderdir '.' type =over 2 =item authenticate => $type|\@types|'AUTO' The C<$type> of authentication to be used, or an ARRAY of C<@types> which the client prefers. The server may provide preferences as well, and that order will be kept. This option is only supported by a small subset of folder types, especially by POP and IMAP. =item create => BOOLEAN Create the folder if it does not exist. By default, this is not done. The C option specifies which type of folder is created. =item folder => $name|$url Which folder to open, specified by C<$name> or special C<$url>. The URL format is composed as type://username:password@hostname:port/foldername Like real URLs, all fields are optional and have smart defaults, as long as the string starts with a known folder type. Far from all folder types support all these options, but at least they are always split-out. Be warned that special characters in the password should be properly url-encoded. When you specify anything which does not match the URL format, it is passed directly to the C method of the folder which is opened. =item folderdir => DIRECTORY The directory where the folders are usually stored. =item type => $foldertypename|$foldertype Specify the type of the folder. If you do not specify this option while opening a folder for reading, the manager checks all registered folder types in order for the ability to open the folder. If you open a new folder for writing, then the default will be the most recently registered type. (If you add more than one type at once, the first of the list is used.) Currently, the types are C, C, C, C, C, C, and C. You may also use names C, C, C, and C. =back » example: opening folders via the manager my $jack = $manager->open(folder => '=jack', type => 'mbox'); my $rcvd = $manager->open('myMail', type => 'Mail::Box::Mbox', access => 'rw'); my $inbox = $manager->open('Inbox') or die "Cannot open Inbox.\n"; my $pop = 'pop3://myself:secret@pop3.server.com:120/x'; my $send = $manager->open($url); my $send = $manager->open(folder => '/x', type => 'pop3', username => 'myself', password => 'secret' server_name => 'pop3.server.com', server_port => '120'); =item $obj-EB() Returns a list of all open folders. =back =head2 Manage existing folders =over 4 =item $obj-EB($foldername, %options) Remove the named folder. The C<%options> are the same as those for L. The deletion of a folder can take some time. Dependent on the type of folder, the folder must be read first. For some folder-types this will be fast. -Option --Default recursive =over 2 =item recursive => BOOLEAN Some folder can only be recursively deleted, other have more flexibility. =back =back =head2 Move messages to folders =over 4 =item $obj-EB( [$folder|$foldername], $messages, %options ) Append one or more messages to a folder (therefore, an C is defined as well). You may specify a C<$foldername> or an opened folder as the first argument. When the name is that of an open folder, it is treated as if the folder-object was specified, and not directly access the folder-files. You may also specify the foldername as part of the options list. If a message is added to an already opened folder, it is only added to the structure internally in the program. The data will not be written to disk until a write of that folder takes place. When the name of an unopened folder is given, the folder is opened, the messages stored on disk, and then the folder is closed. A message must be an instance of a L. The actual message type does not have to match the folder type--the folder will try to resolve the differences with minimal loss of information. The coerced messages (how the were actually written) are returned as list. The C<%options> is a list of key/values, which are added to (overriding) the default options for the detected folder type. » example: $mgr->appendMessage('=send', $message, folderdir => '/'); $mgr->appendMessage($received, $inbox->messages); my @appended = $mgr->appendMessages($inbox->messages, folder => 'Drafts'); $_->label(seen => 1) for @appended; =item $obj-EB( [$folder|$foldername], @messages, %options ) Copy C<@messages> from one folder into another folder. If the destination folder is already opened, L is used. Otherwise, L is called. You need to specify a folder's name or folder object as the first argument, or in the options list. The options are the same as those which can be specified when opening a folder. -Option--Default share false =over 2 =item share => BOOLEAN Try to share the physical storage of the messages. The folder types may be different, but it all depends on the actual folder where the message is copied to. Silently ignored when not possible to share. =back » example: my $drafts = $mgr->open(folder => 'Drafts'); my $outbox = $mgr->open(folder => 'Outbox'); $mgr->copyMessage($outbox, $drafts->message(0)); my @messages = $drafts->message(1,2); $mgr->copyMessage('=Trash', @messages, folderdir => '/tmp', create => 1); $mgr->copyMessage($drafts->message(1), create => 1, folder => '=Drafts' folderdir => '/tmp'); =item $obj-EB( [$folder|$foldername], @messages, %options ) Move C<@messages> from one C<$folder> to another. BE WARNED that removals from a folder only take place when the folder is closed, so the message is only flagged to be deleted in the opened source folder. BE WARNED that message labels may get lost when a message is moved from one folder type to an other. An attempt is made to translate labels, but there are many differences in interpretation by applications. $mgr->moveMessage($received, $inbox->message(1)) is equivalent to $mgr->copyMessage($received, $inbox->message(1), share => 1); $inbox->message(1)->delete; -Option--Default share true =over 2 =item share => BOOLEAN =back =back =head2 Manage message threads =over 4 =item $obj-EB( [@folders], %options ) [3.012] Create a new L object which collects the message threads found in the combined specified C<@folders>. All other C<%options> are passed to L. -Option --Default folders threader_type Mail::Box::Thread::Manager =over 2 =item folders => \@folders As alternative for positional parameters to select the C<@folders>, you can also pass them via this named parameter. =item threader_type => CLASS =back » example: my $t2 = $mgr->discoverThreads($inbox); my $t3 = $mgr->discoverThreads($inbox, $send); my $t1 = $mgr->discoverThreads(folders => [ $inbox, $send ]); =back =head2 Internals =over 4 =item $obj-EB($url) Try to decompose a folder name which is specified as C<$url> (see open()) into separate options. Special characters like @-sign, colon, and slash used in the user or password parts must be passed C<$url>-encoded. =item $obj-EB($folder, $messages) Signal to the manager that all thread managers which are using the specified folder must be informed that new messages are coming in. =item $obj-EB($folder, $messages) Signal to the manager that all thread managers which are using the specified folder must be informed that new messages are or going out. =back =head2 Error handling Extends L<"Error handling" in Mail::Reporter|Mail::Reporter/"Error handling">. =over 4 =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =back =head2 Cleanup Extends L<"Cleanup" in Mail::Reporter|Mail::Reporter/"Cleanup">. =over 4 =item $obj-EB() Inherited, see L =back =head1 DETAILS On many places in the documentation you can read that it is useful to have a manager object. There are two of them: the L, which maintains a set of open folders, and an extension of it: the L. =head2 Managing open folders It is useful to start your program by creating a folder manager object, an L. The object takes a few burdons from your neck: =over 4 =item * autodetect the type of folder which is used. This means that your application can be fully folder type independent. =item * autoload the required modules There are so many modules involved in MailBox, that it is useful to have some lazy autoloading of code. The manager knows which modules belong to which type of folder. =item * avoid double openings Your programming mistakes may cause the same folder to be opened twice. The result of that could be very destructive. Therefore, the manager keeps track on all open folders and avoids the same folder to be opened for the second time. =item * close folders at clean-up When the program is ending, the manager will cleanly close all folders which are still open. This is required, because the autodestruct sequence of Perl works in an unpredicatable order. =item * message thread detection MailBox can discover message threads which span multiple folders. Any set of open folders may be grouped in a tree of replies on replies on replies. When a folder is closed, it will automatically be removed from the threads, and a new folder can dynamically be added to the structure. =back The manager is really simplifying things, and should therefore be the base of all programs. However, it is possible to write useful programs without it. =head2 Managing a user One step further is the L object (since MailBox v2.057), which not only keeps track on open folders, but also collects information about not-open folders. The user class is, as the name says, targeted on managing one single user. Where the L will open any set of folder files, probably from multiple users, the user class want one root folder directory. In many aspects, the user manager simplifies the task for user-based servers and other user-centric applications by setting smart defaults. =head1 DIAGNOSTICS =over 4 =item Error: Folder $name is not a Mail::Box; cannot add a message. The folder where the message should be appended to is an object which is not a folder type which extends L. Probably, it is not a folder at all. Cast by C =item Error: Use appendMessage() to add messages which are not in a folder. You do not need to copy this message into the folder, because you do not share the message between folders. Cast by C =item Warning: Use moveMessage() or copyMessage() to move between open folders. The message is already part of a folder, and now it should be appended to a different folder. You need to decide between copy or move, which both will clone the message (not the body, because they are immutable). Cast by C =item Error: class $package does not implement method $method. Fatal error: the specific C<$package> (or one of its superclasses) does not implement this method where it should. This message means that some other related classes do implement this method however the class at hand does not. Probably you should investigate this and probably inform the author of the package. Cast by C =item Error: failed for folder default $class: $@ Cast by C =item Error: folder $name does not exist, failed opening $type. The folder does not exist and creating is not permitted (see L) or did not succeed. When you do not have sufficient access rights to the folder (for instance wrong password for POP3), this warning will be produced as well. The manager tried to open a folder of the specified type. It may help to explicitly state the type of your folder with the C option. There will probably be another warning or error message which is related to this report and provides more details about its cause. You may also have a look at L and L. Cast by C =item Error: folder $name is already open. You cannot ask the manager for a folder which is already open. In some older releases (before MailBox 2.049), this was permitted, but then behaviour changed, because many nasty side-effects are to be expected. For instance, an L on one folder handle would influence the second, probably unexpectedly. Cast by C =item Warning: folder type $type is unknown, using autodetect. The specified folder type (see L, possibly derived from the folder name when specified as url) is not known to the manager. This may mean that you forgot to require the L extension which implements this folder type, but probably it is a typo. Usually, the manager is able to figure-out which type to use by itself. Cast by C =item Error: illegal folder URL '$url'. The folder name was specified as URL, but not according to the syntax. See L for an description of the syntax. Cast by C =item Error: no foldername specified to open. L needs a folder name as first argument (before the list of options), or with the C option within the list. If no name was found, the MAIL environment variable is checked. When even that does not result in a usable folder, then this error is produced. The error may be caused by an accidental odd-length option list. Cast by C =item Error: threader $class is not derived from $base. Cast by C =item Error: unusable threader $class: $@ Cast by C =item Warning: will never create a folder $name without having write access. You have set L, but only want to read the folder. Create is only useful for folders which have write or append access modes (see L). Cast by C =item Error: you need to pass a $base derived threader, got $class. Cast by C =back =head1 SEE ALSO This module is part of Mail-Box version 4.01, built on December 13, 2025. Website: F =head1 LICENSE For contributors see file ChangeLog. This software is copyright (c) 2001-2025 by Mark Overmeer. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. Mail-Box-4.01/lib/Mail/Box/Message.pod0000644000175000001440000004303115117245222020036 0ustar00markovusers00000000000000=encoding utf8 =head1 NAME Mail::Box::Message - manage one message within a mail-folder =head1 INHERITANCE Mail::Box::Message is a Mail::Message is a Mail::Reporter Mail::Box::Message is extended by Mail::Box::Dir::Message Mail::Box::File::Message Mail::Box::Message::Destructed Mail::Box::Net::Message =head1 SYNOPSIS # Usually these message objects are created indirectly use Mail::Box::Manager; my $manager = Mail::Box::Manager->new; my $folder = $manager->open(folder => 'Mail/Drafts'); my $msg = $folder->message(1); $msg->delete; $msg->size; # and much more =head1 DESCRIPTION These pages do only describe methods which relate to folders. If you access the knowledge of a message, then read L. During its life, a message will pass through certain stages. These stages were introduced to reduce the access-time to the folder. Changing from stage, the message's body and head objects may change. Extends L<"DESCRIPTION" in Mail::Message|Mail::Message/"DESCRIPTION">. =head1 METHODS Extends L<"METHODS" in Mail::Message|Mail::Message/"METHODS">. =head2 Constructors Extends L<"Constructors" in Mail::Message|Mail::Message/"Constructors">. =over 4 =item $obj-EB(%options) Inherited, see L =item $class-EB(%options) Inherited, see L -Option --Defined in --Default body Mail::Message undef body_type deleted Mail::Message false field_type Mail::Message undef folder head Mail::Message undef head_type Mail::Message Mail::Message::Head::Complete labels Mail::Message +{} messageId Mail::Message undef modified Mail::Message false size undef trusted Mail::Message false =over 2 =item body => $object =item body_type => CODE|$class If the body of a message is used delay-loaded, the message must what type of message to become when it finally gets parsed. The folder which is delaying the load must specify the algorithm to determine that type. =item deleted => BOOLEAN =item field_type => $class =item folder => $folder The C<$folder> where this message appeared in. The argument is an instance of (a sub-class of) a L. =item head => $object =item head_type => $class =item labels => \@pairs|\%settings =item messageId => $id =item modified => BOOLEAN =item size => $bytes The size of the message, which includes head and body, but without the message separators which may be used by the folder type. =item trusted => BOOLEAN =back =back =head2 Attributes Extends L<"Attributes" in Mail::Message|Mail::Message/"Attributes">. =over 4 =item $obj-EB( [$folder] ) In which folder did we detect this message/dummy? This is a reference to the folder-object. =item $obj-EB( [$integer] ) Get the number of this message is the current folder. It starts counting from zero. Do not change the number. =back =head2 Constructing a message Extends L<"Constructing a message" in Mail::Message|Mail::Message/"Constructing a message">. =over 4 =item $obj-EB( [<$rg_object|%options>] ) Inherited, see L =item $class-EB( [$message|$part|$body], @fields, %options ) Inherited, see L =item $class-EB($body, [$head], $headers) Inherited, see L =item $obj-EB(%options) Inherited, see L =item $obj-EB(%options) Inherited, see L =item $obj-EB(%options) Inherited, see L =item $obj-EB(%options) Inherited, see L =item $obj-EB(%options) Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB(STRING) Inherited, see L =item $class-EB($fh|$text|\$text|\@lines, %options) Inherited, see L =item $obj-EB(%options) Inherited, see L =item $obj-EB(%options) Inherited, see L =item $obj-EB( [STRING|$field|$address|\@addrs|\@fields] ) Inherited, see L =item $any-EB(STRING) Inherited, see L =back =head2 The message Extends L<"The message" in Mail::Message|Mail::Message/"The message">. =over 4 =item $obj-EB() Inherited, see L =item $obj-EB($folder, %options) Copy the message to the indicated opened C<$folder>, without deleting the original. The coerced message (the clone in the destination folder) is returned. -Option --Default shallow false shallow_body false shallow_head false share false =over 2 =item shallow => BOOLEAN Used for L. =item shallow_body => BOOLEAN Used for L. =item shallow_head => BOOLEAN Used for L. =item share => BOOLEAN Try to share the physical storage of the message between the two folders. Sometimes, they even may be of different types. When not possible, this options will be silently ignored. =back » example: my $draft = $mgr->open(folder => 'Draft'); $message->copyTo($draft, share => 1); =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB($folder, %options) Move the message from this folder to the C<$folder> specified. This will create a copy using L first. Then, this original message is flagged to get deleted. So until the source folder is closed, two copies of the message may stay in memory. The newly created message clone (part of the destination folder) is returned. All C<%options> are passed to L -Option --Default shallow_body undef share =over 2 =item shallow_body => BOOLEAN Only create a shallow body, which means that the header can not be reused. A message can therefore not be shared in storage unless explicitly stated. =item share => BOOLEAN When there is a chance that the original message can be undeleted, then this must be set to C. Otherwise a shallow clone will be made, which will share the header which can be modified in the undeleted message. =back » example: of moving a message my $trash = Mail::Box::Mbox->new(folder => 'trash'); my $t = $msg->moveTo($trash); is equivalent to my $t = $msg->copyTo($trash, share => 1); $msg->delete; =item $obj-EB() Inherited, see L =item $obj-EB( [$fh] ) Inherited, see L =item $obj-EB( [$mailer], %options ) Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB( [$fh] ) Inherited, see L =back =head2 The header Extends L<"The header" in Mail::Message|Mail::Message/"The header">. =over 4 =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB($fieldname) Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB( [$head] ) Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB($fieldname) Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =back =head2 The body Extends L<"The body" in Mail::Message|Mail::Message/"The body">. =over 4 =item $obj-EB( [$body] ) Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB(%options) Inherited, see L =item $obj-EB(%options) Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB( [<'ALL'|'ACTIVE'|'DELETED'|'RECURSE'|$filter>] ) Inherited, see L =back =head2 Flags Extends L<"Flags" in Mail::Message|Mail::Message/"Flags">. =over 4 =item $obj-EB() Inherited, see L =item $obj-EB( [BOOLEAN] ) Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB() Inherited, see L =item $obj-EB