Versio

Afbeelding inzoomen

Overzicht Reageren

Vincent

Vincent

04/12/2007 19:33:00
Quote Anchor link
Hee..

Ik een plaatje uitvergroten, maar alleen maar een deel van een plaatje.
Dus bijvoorbeeld x=20 tot x=40 (van het plaatje).
Het uitvergroten lukt met: http://nl2.php.net/image_copy_resampled.
Maar hoe vergroot ik nou alleen een bepaald deel?
Mijn leraar zei met SVG, is dat de beste manier?(waarschijnlijk wel anders zegt hij het niet) maar als er ook een manier met php is of javascript is dat makkelijker anders moet ik helemaal nieuwe taal gaan leren..

Groeten Vincent
 
PHP hulp

PHP hulp

23/05/2012 20:27:01
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Mvos

mvos

04/12/2007 20:18:00
Quote Anchor link
Als je dit script: http://phphulp.nl/php/scripts/9/390/ een beetje aanpast is heb je het. Ik heb het voor mijn eigen site zo gedaan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?PHP
// config
// cfg -------------

$cfg['width']    = '300'; // breedte van het vlak
$cfg['height']    = '300'; // hoogte van het vlak
$cfg['pl']        = 'Hier het plaatje'; // het plaatje
$cfg['stap']    = '150'; // pixels perkeer
$cfg['klein']    = '1'; // 1 voor wel miniatuur en 0 voor niet
$cfg['z']        = '0.5'; // Per keer uitzoomen
//---------------------------------------------- alle functies

class func {
 // inladen
function res($filename){  // van img2pix
if(@imagecreatefromjpeg($filename)){
        return imagecreatefromjpeg($filename);    
    }

    elseif(@imagecreatefromgif($filename)){
        return imagecreatefromgif($filename);    
    }

    elseif(@imagecreatefrompng($filename)){
        return imagecreatefrompng($filename);    
    }

    elseif(@imagecreatefromwbmp($filename)){
        return imagecreatefromwbmp($filename);    
    }
}
function
size($pl) {
$siz = getimagesize($pl);
return $siz;
}

//------------ zoom
function map($pl,$w,$h,$x1,$y1,$keer,$s) {
$xas = ($keer >1) ? $x1-(($w/2)*($keer-1)) : $x1; // stomme () :P
$yas = ($keer >1) ? $y1-(($h/2)*($keer-1)) : $y1;
$siz = $this->size($pl);
$ima = $this->res($pl);
$im = imagecreatetruecolor($w,$h);
$bg = imagecolorallocate($im,255,255,255);
$image = imagecopyresized($im,$ima,0,0,$xas,$yas,$w,$h,($w*$keer),($h*$keer));
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
imagedestroy($ima);
}
function
mini($pl,$x1,$y1,$w1,$h1,$k) {
$x = ($k >1) ? $x1-(($w1/2)*($k-1)) : $x1;
$y = ($k >1) ? $y1-(($h1/2)*($k-1)) : $y1;
$h = $h1*$k;
$w = $w1*$k;
$ima = $this->res($pl);
$siz = $this->size($pl);
$g = ($siz[0] > 1000 || $siz[1] > 1000) ? 10 : 5;
$wid = round($siz[0]/$g,0);
$hei = round($siz[1]/$g,0);
//---------------------------------
$img = imagecreatetruecolor($wid,$hei);
imagecopyresampled($img,$ima,0,0,0,0,$wid,$hei,$siz[0],$siz[1]);
$color1 =imagecolorallocate($img,255,119,1);
imagerectangle($img,round($x/$g,0),round($y/$g,0),round(($x+$w)/$g,0),round(($y+$h)/$g,0),$color1);
header('Content-type: image/png');
imagepng($img);
imagedestroy($img);
}

//einde class
}
$data = new func;
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if (isset($_GET['page']))
{

if($_GET['page']=='map.php'){
$siz = $data->size($cfg['pl']);
$x = (isset($_GET['x']) && $_GET['x'] >= 0 && ($_GET['x']+$cfg['stap']) <= $siz[0]) ? $_GET['x'] : '0';
$y = (isset($_GET['y']) && $_GET['y'] >= 0 && ($_GET['y']+$cfg['stap']) <= $siz[1]) ? $_GET['y'] : '0';
$k = (isset($_GET['k']) && $_GET['k'] >0) ? $_GET['k'] : '1';
if(is_numeric($_GET['k']) && is_numeric($_GET['x']) && is_numeric($_GET['y']) && $_GET['v'] == 'v') {
$data->map($cfg['pl'],$cfg['width'],$cfg['height'],$x,$y,$k,$cfg['stap']);
}
elseif(is_numeric($_GET['k']) && is_numeric($_GET['x']) && is_numeric($_GET['y']) && $_GET['v'] == 'k' && $cfg['klein'] == 1) {
$data->mini($cfg['pl'],$x,$y,$cfg['width'],$cfg['height'],$k);
}
}
}

?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?PHP
$siz
     = getimagesize($cfg['pl']);
$x = (isset($_GET['x']) && $_GET['x'] >= 0 && ($_GET['x']+$cfg['stap']) <= $siz[0]) ? $_GET['x'] : 0;
$y = (isset($_GET['y']) && $_GET['y'] >= 0 && ($_GET['y']+$cfg['stap']) <= $siz[1]) ? $_GET['y'] : 0;
$k = (isset($_GET['k']) && $_GET['k'] >0) ? $_GET['k'] : 1;
$s = $cfg['stap']*$k;
$ke = ($k-1 >= 1) ? $k-$cfg['z'] : 1;
$minx    = ($x <=0 || ($x-$S) <= 0) ? 0 : ($x-$s);
$plux     = ($x > $siz[0] || ($x+$s) > $siz[0]) ? $x : ($x+$s);
$miny     = ($y <=0 || ($y-$S) <= 0) ? 0 : ($y-$s);
$pluy     = ($y > $siz[1] || ($y+$s) > $siz[1]) ? $y : ($y+$s);
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// form
// opmaak

echo "<img src='".$_SERVER['PHP_SELF']."?page=map.php&x=40&y=20&k=".$k."&v=v' width='300' height='300' alt='Map'/>";

?>

Voorbeeld: http://gtaweb.nl/Nieuwe%20map/spoorkaart.php?page=map.php&x=40&y=20&k=1&v=v
 
Vincent

Vincent

04/12/2007 20:21:00
Quote Anchor link
Perfect!
Die had ik nog niet gezien!
Bedankt voor je reactie :-)
En trouwens: Welkom op phphulp.nl!
 



Overzicht Reageren