Strona 1 z 1

Wyświetlanie wygenerowanej grafiki.

PostNapisane: 2008-12-04, 18:21:19
przez privace
Czy ktoś ma pojęcie o grafice w php?
Otóż mam problem.
W skrypcie (przytoczę najważniejsze fragmenty) mam jakiś formularz, w którym wybieram kolejne obrazki
Kod: Zaznacz cały
<form action="strona.php" method="post">
<label>
Text: <input type="text" name="word" />
</label>
<p />
Style:<p />
          <label>
            <input name="color" type="radio" value="1" checked="checked"  />
<img src=".obrazek" alt="" />         </label>

(itd)

Następnie skrypt generuje kilka wybranych obrazków
Kod: Zaznacz cały
<input type="submit" name="btn" value="Stwórz napis" />
</form>
<p />
<strong>Podgląd</strong>

<?php
if (isset($_POST['btn'])) {
?>

<form action="" name="results">
   
      <?php

      if ($_POST['color'] > 0) {
         $color = $_POST['color'];
      } else {
         $color = 1;
      }

      $word = $_POST['word'];
      $x = strlen($word);
      
      for ($i=0; $i<$x; $i++) {
         $c = $word[$i];
         if ($c == ' ') {
            echo '<br />';
         } else {
            // echo "$c";
            echo "<img src='jakiś.gif' alt='"' />";
         }
      }

      ?>
<p />
<strong>Kod na stronę www</strong>

<textarea name="code" onClick="select_all();">
<a href="strona.php" target="_blank"><?php
$word = $_POST['word'];
$x = strlen($word);

for ($i=0; $i<$x; $i++) {
   $c = $word[$i];
   echo "<img src='jakiś.gif' border='0' alt='' />";
}
?></a>
<br />
<a href="strona.php" target="_blank">jakiś tekst</a>
</textarea>
<p />

Da się zrobić coś, aby skrypt generował jeden obraz zamiast ciągu pojedynczych w gif lub png?
Kombinowałam różnie, ale za kiepsko mi idzie w php :(
Może coś w rodzaju "imagecreatefromgif"?
RATUNKU!

(może niejasno wytłumaczyłam, skrypt wstępnie jest na http://sweetbrokacik.pl/rozrywka/old/gen/1.php i chodzi o to, żeby powstawał napis w jednym pliku, zamiast kolejnych literek)

Re: Wyświetlanie wygenerowanej grafiki.

PostNapisane: 2008-12-04, 20:31:43
przez junior
poszperałem po necie i znalazłem:
If you want to merge gif animate you must split image to multiple frame and merge it frame by frame.
Finally you just merge multiple frame back to gif animate it completed. :)

learn more about this case

http://www.myfineday.com/2008/10/02/php ... f-animate/

może się okazać że trochę się pobawisz, bo trzeba każdą literkę rozłożyć na klatki i sklejać litery klatka po klatce. Ałuu

może na http://phpclasses.ca coś znajdziesz jest tam mnóstwo class może coś podpasuje

Re: Wyświetlanie wygenerowanej grafiki.

PostNapisane: 2008-12-04, 21:55:51
przez BlueMan
http://phpclasses.sgboards.com/browse/package/3163.html - pewnie to? :)
Ale na pewno nie jest to łatwe... .

Re: Wyświetlanie wygenerowanej grafiki.

PostNapisane: 2008-12-05, 00:28:18
przez privace
Nie, to nie to mi chodzi :/
A może w taki razie używając czcionki i tła? Tzn. przezroczysta czcionka na nieprzezroczystym tle i wyświetlana w połączeniu z drugim plikiem?
Coś w stylu
Kod: Zaznacz cały
header(Content-type: image/gif);
$obrazek = ImageCreate;
ImageCreateFromGif($obrazek1;$czcionka); [color=#FF0000](lub ImageString($obrazek1;czcionka)?[/color]
ImageGif($obrazek);
ImageDestroy($obrazek);
?>

albo wprowadzając tekst z użyciem czcionki z pliku
Kod: Zaznacz cały
imagettftext($image, $rozmiar, $pochylenie, $x, $y, $kolor, $font,'Tekst do
   wyświetlenia');

Ma ktoś pojęcie, czy da się to jakoś zrobić, żeby działało?
Znalazłam coś podobnego, co chcę uzyskać, ale nie mam pojęcia "jak to ugryźć"
Poniższy kod wczytuje dwa obrazy, a następnie kopiuje drugi na pierwszy:

1. $image = imagecreatefromjpeg("gory.jpg");
2. $image2 = imagecreatefromgif("znak.gif");
3. list($width, $height) = getimagesize("watermark.gif");
4. imagecopy($image, $image2, 400, 300, 0, 0, $width, $height);

Ponieważ drugi z wczytywanych obrazów to GIF, w którym zapisano transparencję, więc w efekcie skopiowane zostaną tylko nieprzezroczyste elementy. Łatwo widać to na nietypowych kształtach. Jeśli na przykład GIF zawiera elipsę, to w takiej postaci zostanie ona wklejona na zdjęcie.

Re: Wyświetlanie wygenerowanej grafiki.

PostNapisane: 2008-12-05, 17:27:47
przez junior
co znaczy działało ? bo ja np już się pogubiłem co chcesz zrobić, na początku myślałem, że chcesz skleić tamte literki w jeden animowany obrazek, do tego musiałabyś rozłożyć każdą literkę na klatki, potworzyć każdą klatkę z literek (pojedyncza klatka literki) i złożyć to w jednego gifa.
1 kod pomijając że jest niespójny napisze tekst na obrazku
a 2 kod umieszcza na 1 gifie 2 gif tylko też 3 linia wydaje się być zbędna.
Wyjaśnij jaki efekt chcesz uzyskać.
To ma być coś takiego, że nakładasz na gifa animowanego np. białe tło za wyjątkiem literek i literki się animują? zmartwię cię oznacza to również rozłożenie tła na klatki i wstawienie literek na każdej klatce a potem skompilowanie do animowanego gifa.

Re: Wyświetlanie wygenerowanej grafiki.

PostNapisane: 2008-12-05, 22:32:57
przez privace
Dobra, to na przykładzie takich generatorów:
http://www.pimpmyspace.org/myspaceglittertext.php wykorzystuje skrypt działający podobnie do tego podanego na początku i generujący kod z adresami pojedynczych literek:
Kod: Zaznacz cały
<a href="http://www.pimpmyspace.org/myspaceglittertext.php"><img src="http://m3.pimpmyspace.org/cursors/l/5/p.gif" border="0" alt="glitter text" /></a><a href="http://www.pimpmyspace.org/myspaceglittertext.php"><img src="http://m3.pimpmyspace.org/cursors/l/5/r.gif" border="0" alt="glitter text" /></a><a href="http://www.pimpmyspace.org/myspaceglittertext.php"><img src="http://m3.pimpmyspace.org/cursors/l/5/i.gif" border="0" alt="glitter text" /></a><a href="http://www.pimpmyspace.org/myspaceglittertext.php"><img src="http://m3.pimpmyspace.org/cursors/l/5/v.gif" border="0" alt="glitter text" /></a><a href="http://www.pimpmyspace.org/myspaceglittertext.php"><img src="http://m3.pimpmyspace.org/cursors/l/5/a.gif" border="0" alt="glitter text" /></a><a href="http://www.pimpmyspace.org/myspaceglittertext.php"><img src="http://m3.pimpmyspace.org/cursors/l/5/c.gif" border="0" alt="glitter text" /></a><a href="http://www.pimpmyspace.org/myspaceglittertext.php"><img src="http://m3.pimpmyspace.org/cursors/l/5/e.gif" border="0" alt="glitter text" /></a> <a href="http://www.pimpmyspace.org"><img src="http://m3.pimpmyspace.org/cursors/pmyspace.gif" alt="myspace" style="position:absolute; left:0px; top: 0px;" border="0"></a>

ObrazekObrazekObrazekObrazekObrazekObrazekObrazek
to samo na
http://www.glittermaker.com/
w efekcie jeden obrazek z kodem:
Kod: Zaznacz cały
[url=http://www.GlitterMaker.com/][img=http://www.glittermaker.com/temp-images/2/341/glitter-sparkle-122850836916238.gif[/url]

Obrazek
z użyciem czcionek i dodatkowo wybieranej warstwy gif:
http://www.glitterfy.com/glitter-words.php
Kod: Zaznacz cały
[url=http://www.glitterfy.com/][img]http://img34.glitterfy.com/340/glitterfy142132T972D32.gif[/img][/url]

Obrazek

Widać różnicę? Wszystko jedno jaką metodą, chodzi o efekt: krótki kod do skopiowania i JEDEN obrazek.