Avatar billede zeion Nybegynder
19. april 2006 - 11:34

Vandmærke

Hej gutter,

Har siddet og kæmpet med mit vandmærke på billeder, og har endlig fået skidtet til at virke, men der er en ting der undre mig. Hvorfor er jeg nød til at gemme mit resizede logo før jeg kan putte det på billedet. Hvis jeg ikke gemmer det, bliver logoet bare sort.

<----------------------------------------------------------------


                //Sætter stien på serveren hvor billederne er
                $sti_ImgBack = "supra.jpg";
                $sti_ImgIcon = "galleri/logo.png";

                // Opretter billederne imgBack og imgLogo udfra orginal billederne
                $imgBack = imagecreatefromjpeg($sti_ImgBack);               
                $imgLogo = imagecreatefrompng($sti_ImgIcon);
               
                // Henter størelserne på orginal billedet
                $backX = imagesx($imgBack);
                $backY = imagesy($imgBack);
               
                // Henter størelserne på orginal logo'et
                $logoX = imagesx($imgLogo);
                $logoY = imagesy($imgLogo);
               
                // Sætter Logo strørrelse ud fra billede størelse
                $newLogoX = $backX / 3;
                $newLogoY = $logoY / ($logoX / $newLogoX);
               
                // opretter et logo billede med størelserne
                $newLogo = imagecreatetruecolor($newLogoX, $newLogoY);
               
                // ???????????????? Bliver ikke transperant hvis ikke dette er på :P
                imagetruecolortopalette($newLogo, true , 256);
                imagealphablending($newLogo, true);
               
                // Overfører orginalt logo billede til nyt resizet logo billede
                imagecopyresampled($newLogo, $imgLogo, 0, 0, 0, 0, $newLogoX, $newLogoY, $logoX, $logoY);
                imagepng($newLogo, "testlogo.png");

               
                // sætter logo position ud fra orginal baggrundsbillede og trækker 10 fra en højte og brede
                $logoPosX = $backX - ($newLogoX + 10);
                $logoPosY = $backY - ($newLogoY + 10);
               
                $size = getimagesize($sti_ImgBack);
               
                // Er nød til at gemme logoet først.
                $templogo = imagecreatefrompng("testlogo.png");
               
                // Funktionen jeg gerne ville benytte
                //imagecopymerge($imgBack,$newlogo,$logoPosX,$logoPosY,0,0,$backX,$backY,100);

                //Benytter her fusker løsningen
                imagecopymerge($imgBack,$templogo,$logoPosX,$logoPosY,0,0,$backX,$backY,100);
       
                imagejpeg($imgBack, "test.jpg", 100);
                echo '<img src="test.jpg">';


<-----------------------------------------------------------
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