MILSPOTTERS.nl



Milspotters forum -> Leeuwarden movements database -> Foto's insturen tbv de Database

Alles m.b.t. de movements database.
Nieuw bericht plaatsen
Avatar gebruiker

Foto's insturen tbv de Database

Berichtdoor spine24 » do maart 19, 2009 10:59 pm
Aantal posts: 4049x
Ranking: MilSpotter

PB sturen | Website bezoeken


Zo, ik ben weer helemaal bij met het uploaden van foto's voor de Database, op een paar na, die komen morgen.
Excuses voor de vertraging!

Even een paar opmerkingen voor het insturen:

1. Zou iedereen zo vriendelijk willen zijn om het serial en de datum te noemen in de bestandsnaam?
Dit werkt namelijk een stuk sneller voor ons.

2. Wil je een credit op je foto, dan gelieve die er zelf op te zetten, het kost ons te veel tijd om dat voor iedere foto te doen.
Gelieve de credits niet te "schreeuwerig" te maken.

Foto's/updates kunnen worden ingestuurd via het bekende e-mail adres: database@milspotters.nl.

Iedereen weer bedankt en keep them coming!



Berichtdoor Bergen » vr maart 20, 2009 1:42 am
Aantal posts: 765x
Ranking: MilSpotter

PB sturen


Is het misschien een idee om de copyright dynamisch toe te voegen?

Met GD in PHP is dat makkelijk te doen:

Code: Selecteer alles
<?php
        $margin_x = 10;
        $margin_y = 10;

        $img = imagecreatefromjpeg("a10.jpg");

        $img_width      = imagesx($img);
        $img_height     = imagesy($img);

        $text_color     = imagecolorallocate($img, 255, 255, 255);
        $text_font      = "./WeekdaysRomanSlant.ttf";
        $text_string    = "&copy; 2009 Gerben Wijnja";
        $text_size      = 12;

        $text_bbox      = imagettfbbox($text_size, 0, $text_font, $text_string);

        $text_left      = $text_bbox[0];
        $text_bottom    = $text_bbox[1];
        $text_right     = $text_bbox[4];
        $text_top       = $text_bbox[5];

        $text_width     = $text_right - $text_left;
        $text_height    = $text_bottom - $text_top;

        $text_x         = $img_width - $margin_x - $text_width - $text_left;
        $text_y         = $img_height - $margin_y - $text_bottom;

        imagettftext($img, $text_size, 0, $text_x, $text_y, $text_color, $text_font, $text_string);

        imagejpeg($img);

        imagedestroy($img);
?>

Dan krijg je zoiets:
http://www2.gerbs.net/images/milspotter ... /test1.php

Of even netjes in een functie, nu inclusief positiekeuze:
Code: Selecteer alles
<?php
        function draw_copyrighted_image(
                $image_filename, $font_filename,
                $margin_x, $margin_y,
                $text_string, $text_size, $text_position,
                $text_r, $text_g, $text_b)
        {
                $img = imagecreatefromjpeg($image_filename);

                $img_width      = imagesx($img);
                $img_height     = imagesy($img);
                $text_color     = imagecolorallocate($img, $text_r, $text_g, $text_b);

                $text_bbox      = imagettfbbox($text_size, 0, $font_filename, $text_string);
                $text_left      = $text_bbox[0];
                $text_bottom    = $text_bbox[1];
                $text_right     = $text_bbox[4];
                $text_top       = $text_bbox[5];

                $x_left         = $margin_x - $text_left;
                $x_center       = ($img_width - ($text_right - $text_left)) / 2 - $text_left;
                $x_right        = $img_width - $text_right - $margin_x;
                $y_top          = $margin_y - $text_top;
                $y_bottom       = $img_height - $text_bottom - $margin_y;

                switch($text_position) {
                        case "topleft":         $text_x = $x_left;      $text_y = $y_top;       break;
                        case "topcenter":       $text_x = $x_center;    $text_y = $y_top;       break;
                        case "topright":        $text_x = $x_right;     $text_y = $y_top;       break;
                        case "bottomleft":      $text_x = $x_left;      $text_y = $y_bottom;    break;
                        case "bottomcenter":    $text_x = $x_center;    $text_y = $y_bottom;    break;
                        case "bottomright":     $text_x = $x_right;     $text_y = $y_bottom;    break;
                }

                imagettftext($img, $text_size, 0, $text_x, $text_y, $text_color, $font_filename, $text_string);
                imagejpeg($img);
                imagedestroy($img);
        }

        $image_filename = "a10.jpg";
        $font_filename = "./WeekdaysRomanSlant.ttf";

        $margin_x = 10;
        $margin_y = 10;

        $text_string = "&copy; 2009 Gerben Wijnja";
        $text_size = 14;
        $text_position = "topright";

        $red    = 128;
        $green  = 0;
        $blue   = 255;

        draw_copyrighted_image($image_filename, $font_filename, $margin_x, $margin_y, $text_string, $text_size, $text_position, $red, $green, $blue);
?>

Output: http://www2.gerbs.net/images/milspotter ... /test2.php

Dan zou de gebruiker bij het uploaden bijvoorbeeld de tekst, het lettertype, de kleur, positie, grootte en margin kunnen opgeven. De site zou dan een maximale grootte kunnen bepalen.

Ook zou je nog iets van een instelbare transparante achtergrond achter de tekst kunnen toevoegen, met imagealphablending, imagecolorallocatealpha en imagefilledrectangle. Ga ik morgen nog ff toevoegen. Inmiddels is het 5 uur 's nachts, ik ga maar eens slapen. ;-)





Reactie plaatsen

Keer terug naar Leeuwarden movements database