Portrety Uliczne Nieznajomych - zobacz wyjątkową galerię portretów z warszawskich ulic
ZALOGUJ SIĘ
login:
hasło:
przypomnij hasło
załóż konto użytkownika
(i zobacz kilka porad gratis)
   
WYSZUKIWARKA I DZIAŁY
całe porady  tytuły
zaznacz działy do przeszukania
(brak wyboru = wszystkie działy)
PHP
MySQL >
PostgreSQL
SQLite
Perl
Java
XML
XSLT
XPath
WML
SVG
RegExp
Wyszukiwarki
Ochrona
VBScript
Google Plus
XHTML/CSS
JavaScript
Grafika
Flash
Photoshop
Windows
Linux
Bash
Apache
Procmail
E-biznes
Explorer
Opera
Firefox
Inne porady
   
KURSY, DOKUMENTACJE
Własne:
XHTML/CSS
JavaScript
ActionScript
WML, RSS, SSI
Pozostałe:
PHP
MySQL
Java API
więcej...
   
użytkowników online: 17
W CZYM MOGĘ POMÓC?


   
OPINIE UŻYTKOWNIKÓW
Na początku, kiedy zobaczyłem, że ktoś chce jakiejś opłaty za pomoc w tworzeniu stron ryknąłem śmiechem - potem przyszły problemy... i zaryzykowałem. Druga rzecz to: nie chciałem "kopiować". Ale prawda jest taka: są lepsi, bardziej doświadczeni i... czasem trzeba poprosić o pomoc, a jak poświęca się na to trzecią cześć życia, to nic dziwnego, że nie chce się swoich "sekretów" zdradzać za darmo. Skorzystałem z "algorytmy.pl" i naprawdę jestem z tego w 100% zadowolony, polecam - dla zawodowców (co się uczą) i amatorów (można skorzystać z gotowego rozwiązania).

Tomasz Czypicki
Cybernoxa

   
GALERIA FOTOGRAFII
   
PODRĘCZNIK PHP 5.x, 4.x, 3.x - częściowo spolszczony / źródło: www.php.net

[Spis] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [X] [W] [Z]

imagewbmp

(PHP 3 >= 3.0.15, PHP 4 >= 4.0.1, PHP 5)

imagewbmp -- Output image to browser or file

Description

bool imagewbmp ( resource image [, string filename [, int foreground]] )

imagewbmp() creates the WBMP file in filename from the image image. The image argument is the return from the imagecreate() function.

The filename argument is optional, and if left off, the raw image stream will be output directly. By sending an image/vnd.wap.wbmp content-type using header(), you can create a PHP script that outputs WBMP images directly.

Notatka: WBMP support is only available if PHP was compiled against GD-1.8 or later.

Using the optional foreground parameter, you can set the foreground color. Use an identifier obtained from imagecolorallocate(). The default foreground color is black.

See also image2wbmp(), imagepng(), imagegif(), imagejpeg(), imagetypes().




User Contributed Notes

lukeross at sys3175 dot co dot uk
28-Feb-2002 10:57

As has been commented before, GD doesnt do a very good translation to 2-colours, especially for photos.  The following routine converts to two colours, I believe using error diffusion (the algorithm's nicked off news).  It's slow, but just about adequate for small images and low load.  I suspect it can be made much more efficient :-)

function ImageColorFloydSteinberg($dst_img, $src_img) {
   ImageColorAllocate($dst_img, 0,0,0);
   ImageColorAllocate($dst_img, 255,255,255);
   $grey_img = ImageCreate(ImageSX($src_img), ImageSY($src_img));
   for ($a = 0; $a <= 255; $a++) ImageColorAllocate($grey_img, $a,$a,$a);
   for($x = 0; $x <= ImageSX($src_img); $x++) {
       for($y = 0; $y <= ImageSY($src_img); $y++) {
           $color = ImageColorsForIndex($src_img, ImageColorAt($src_img, $x, $y));
           $greyscale = .299 * $color["red"] + .587 * $color["green"] + .114 * $color["blue"];
           ImageSetPixel($grey_img, $x, $y, ImageColorClosest($grey_img, $greyscale, $greyscale, $greyscale));
       }
   }
   for($x = 0; $x <= ImageSX($src_img); $x++) {
       for($y = 0; $y <= ImageSY($src_img); $y++) {
           $color = ImageColorsForIndex($grey_img, ImageColorAt($grey_img, $x, $y));
           if ($color["red"] > 128) {
               ImageSetPixel($dst_img, $x, $y, ImageColorClosest($dst_img,255,255,255));
               $err = $color["red"] - 255;
           } else {
               ImageSetPixel($dst_img, $x, $y, ImageColorClosest($dst_img,0,0,0));
               $err = $color["red"];
           }
           if ($x != ImageSx($src_img)) {
               $color2 = ImageColorsForIndex($grey_img, ImageColorAt($grey_img, $x+1, $y));
               $newgrey = $color2["red"] + $err * 7 / 16;
               ImageSetPixel($grey_img, $x+1, $y, ImageColorClosest($grey_img,$newgrey, $newgrey, $newgrey));
           }
           if ($x != 0) {
               $color2 = ImageColorsForIndex($grey_img, ImageColorAt($grey_img, $x-1, $y));
               $newgrey = $color2["red"] + $err * 3 / 16;
               ImageSetPixel($grey_img, $x-1, $y, ImageColorClosest($grey_img,$newgrey, $newgrey, $newgrey));
           }
           if ($y != ImageSy($src_img)) {
               $color2 = ImageColorsForIndex($grey_img, ImageColorAt($grey_img, $x, $y+1));
               $newgrey = $color2["red"] + $err * 5 / 16;
               ImageSetPixel($grey_img, $x, $y+1, ImageColorClosest($grey_img,$newgrey, $newgrey, $newgrey));
           }
           if ($x != ImageSx($src_img) && $y != ImageSy($src_img)) {
               $color2 = ImageColorsForIndex($grey_img, ImageColorAt($grey_img, $x+1, $y+1));
               $newgrey = $color2["red"] + $err / 16;
               ImageSetPixel($grey_img, $x+1, $y+1, ImageColorClosest($grey_img,$newgrey, $newgrey, $newgrey));
           }
          
       }
   }
   imagedestroy($grey_img);
}

To output your WBMP, use

ImageWBMP($final_img, "", ImageColorClosest(255,255,255));


marius
17-Jul-2001 02:10

You could also use:

@ImageWbmp ($im, "test.wbmp");

But I haven't test ist yet


flapper at redcube dot nl
23-May-2001 12:34

There is a hidden third parameter in the ImageWbmp function that serves as a threshold-holder. When using the function as in:

ImageWbmp ($im, "test.wbmp");

it generates a warning:

Warning: imagewbmp: invalid threshold value '-1'. It must be between 0 and 255 in blablabla

It does generate the image though but for a WML app. it cannot be used since the warning is laden with HTML-tags. To prevent the warning use the following example:

ImageWbmp ($im, "test.wbmp", 0);

The warning is no longer generated.


 

 
  © 1996-2012 & Reporter.plmiejscao serwisieabonamentwarunki korzystaniaRSSkontakt