Avatar billede cybermaster Nybegynder
01. januar 2008 - 19:01 Der er 9 kommentarer og
1 løsning

Rette scrpit der laver spejl effekt på billeder

På denne side fandt jeg scriptet. http://www.talkphp.com/advanced-php-programming/1714-image-reflections-php.html

Kunne godt tænke mig at selve source billedet kommer med i den output fil der laves.

Og at der er en lignie der adskiller dem, som her:http://dalemooney.lost-soldiers.com/ajax/wetfloor_show.php

Det hele skal retuneres i output filen ;o)

Hår der er en der er skarp nok i dag.

Og godt nytår.
Avatar billede jakobdo Ekspert
01. januar 2008 - 19:53 #1
Hvad mener du med output filen?
Det som smides retur, er jo blot et billede.
Avatar billede cybermaster Nybegynder
01. januar 2008 - 20:19 #2
Ja det er retur billedet jeg mener. :-)
Avatar billede jakobdo Ekspert
02. januar 2008 - 07:36 #3
Så i retur billedet skal både original og spejlet billede være?
Avatar billede jakobdo Ekspert
02. januar 2008 - 07:38 #4
Jeg skal gerne kigge på det i aften.
Avatar billede cybermaster Nybegynder
02. januar 2008 - 17:45 #5
Det lyder fedt, tak ;o)
Avatar billede jakobdo Ekspert
02. januar 2008 - 20:13 #6
Avatar billede cybermaster Nybegynder
02. januar 2008 - 21:27 #7
Det er lige præcis det jeg havde i tankerne. :-D

Godt gået ;o)

mvh

Henrik
Avatar billede jakobdo Ekspert
02. januar 2008 - 21:30 #8
<?php
//http://www.eksperten.dk/spm/812550

$imgName = $_GET['src'];

if(!preg_match('/\.(:?jpeg|jpe|jpg)$/i', $imgName)){
    header ("Content-type: image/png");
    $im = @imagecreatetruecolor(120, 20) or die("Cannot Initialize new GD image stream");
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5, "ERROR", $text_color);
    imagepng($im);
    imagedestroy($im);
    exit();
}

$imgImport = imagecreatefromjpeg($imgName);

$imgName_w = imagesx($imgImport);
$imgName_h = imagesy($imgImport);

$gradientHeight = 100;

// Create new blank image with sizes.
$background = imagecreatetruecolor($imgName_w, $gradientHeight);

$gradientColor = "255 255 255"; //White
$gradparts = explode(" ",$gradientColor); // get the parts of the  colour (RRR,GGG,BBB)
$dividerHeight = 1;

$gradient_y_startpoint = $dividerHeight;
$gdGradientColor=ImageColorAllocate($background,$gradparts[0],$gradparts[1],$gradparts[2]);

$newImage = imagecreatetruecolor($imgName_w, $imgName_h);
for ($x = 0; $x < $imgName_w; $x++){
    for ($y = 0; $y < $imgName_h; $y++){
        imagecopy($newImage, $imgImport, $x, $imgName_h - $y - 1, $x, $y, 1, 1);
    }
}
// Add it to the blank background image
imagecopymerge ($background, $newImage, 0, 0, 0, 0, $imgName_w, $imgName_h, 100);

//create from a the image so we can use fade out.
$gradient_line = imagecreatetruecolor($imgName_w, 1);

// Next we draw a GD line into our gradient_line
imageline ($gradient_line, 0, 0, $imgName_w, 0, $gdGradientColor);

$i = 0;
$transparency = 30; //from 0 - 100

while ($i < $gradientHeight){ //create line by line changing as we go
    imagecopymerge ($background, $gradient_line, 0,$gradient_y_startpoint, 0, 0, $imgName_w, 1, $transparency);
    ++$i;
    ++$gradient_y_startpoint;
               
    if ($transparency == 100){
        $transparency = 100;
    }else{
        // this will determing the height of the
        //reflection. The higher the number, the smaller the reflection.
        //1 being the lowest(highest reflection)
        $transparency = $transparency + 1;
    }
}

//New blank image, wetfloor effect image + original image.
$output = imagecreatetruecolor($imgName_w, $imgName_h + $gradientHeight);

//Copy original image
imagecopy($output, $imgImport, 0, 0, 0, 0, $imgName_w, $imgName_h);

// Set the thickness of the line we're about to draw
imagesetthickness($background, $dividerHeight);

// Draw the line - me do not likey the liney
imageline($background, 0, 0, $imgName_w, 0, $gdGradientColor);

//Copy wetfloor image
imagecopy($output, $background, 0, $imgName_h, 0, 0, $imgName_w, $gradientHeight);

header("Content-type: image/jpeg");

imagejpeg($output, NULL, 100); //100 being the quality of image 100 Max(Best)
imagedestroy($background);
imagedestroy($gradient_line);
imagedestroy($newImage);
imagedestroy($output);

?>
Avatar billede cybermaster Nybegynder
02. januar 2008 - 21:38 #9
Det er super godt. Tak for hjælpen.

Og godt nytår ;o)

Henrik
Avatar billede jakobdo Ekspert
02. januar 2008 - 21:41 #10
Takker for point, og godt nytår til dig også.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester