source: trunk/npemap.org.uk/scripts/tile-processing/thumbnail.pl @ 410

Last change on this file since 410 was 410, checked in by Nick Burch, 14 years ago

Add alternate whole-uk image generator script

  • Property svn:executable set to *
File size: 1.1 KB
Line 
1#!/usr/bin/perl
2# Generate the UK-wide thumbnail image, from corners.csv, and other similar
3#  bits of magic
4
5#my $mode = "rectangle";
6my $mode = "thumb";
7
8
9use Image::Magick;
10
11my $out = Image::Magick->new(size => '700x700');
12
13$out ->ReadImage('xc:white');
14   
15open FH, "<corners.csv" or die "Can't open corners $!";
16
17while(<FH>) {
18    chomp;
19    ($tile, $x, $y) = split /,/, $_;
20    my ($x1, $y1) = ($x, $y);
21    my ($x2, $y2) = ($x+39, ($y-44));
22
23    print "$x,$y2,$x2,$y\n";
24
25    if (($mode eq "rectangle") || (! -f (glob "${tile}_*.jpg")[0])) {   
26       print $out->Draw(primitive => 'rectangle', fill => 'red', points =>"$x1,$y1,$x2,$y2");
27    } else {
28        if (! -f "thumbs/${tile}.jpg") {
29           my $in = Image::Magick->new();
30           $in -> Read((glob "${tile}_*.jpg")[0]);
31           $in -> Sample("160x180");
32           $in -> Write("jpg:thumbs/${tile}.jpg");
33        }
34        my $in = Image::Magick->new();
35        $in -> Read("thumbs/${tile}.jpg");
36        $in -> Sample("40x45");
37        $in->Flip();
38        print $out->Composite(image=>$in, x=>$x1, y=>$y2); 
39    }
40}
41
42close FH;
43
44$out->Flip();
45print $out->Write("jpg:thumbnail.jpg") ;
Note: See TracBrowser for help on using the repository browser.