Jump to content
php.lv forumi

Wuu

Reģistrētie lietotāji
  • Posts

    984
  • Joined

  • Last visited

Posts posted by Wuu

  1. nē ar pikseļu atainošanu viss ir ok ,jo lielākai daļai zīmējumu (kādi 96%) viss ir ok!

    http://en.wikipedia.org/wiki/Color_depth

    2byti katram bitam pa 8 biti kopā 16 biti

    tātad katrai krāsai pa 5 biti un 1 liekais ,vai varbūt papildus zaļais tonis :)

    XRRRRRGGGGGBBBBB

    Bet php GD2 izmant 24 bitus

    XRRRRRRRRGGGGGGGGBBBBBBBB

    Un kā tad lai pareizi pār konvertē ,tas pēc loģikas pat nav iespējams :)

  2. Tātad nolasu failu pa 2 byti ,pašā failā slēpjās bildes ,nolasu katru 2 bytu un beigās to konvertējot RGB krāsā sanāk attēls! Tātad savācu pa pixelim!

    Bet rodas problēma dažām bildēm zūd pikseļi!

    p4h2xb784kmi3k5wytdg.png

    Itkā failā tie visi attēli ir BMP formātā ,tad varbūt BMP ir vienkārši vairāk krāsu nekā PNG un tie netiek atrasti... Kādi minējumi?

    Vispār urķēju 95 gada spēles failus :)

     

    $im = imagecreate($width, $height);
    $bg = imageColorAllocate($im, 0, 0, 0);
    imagecolortransparent($im, $bg);
    
    //Te nolasu bytus 
    for($i=0; $i < $height; $i++) {
      $offset[$i] = convertToInteger(fread($handle, 2));
    }
    
    $datastart = ftell($handle);
    
    $x = 0;
    $y = 0;
    
    //Te jau tiek veidots atēls
    	while ( $y < $height ) {
    	  $xoffset = convertToInteger(fread($handle, 2));
    	  $xRun = convertToInteger(fread($handle, 2));
    		if ( ($xRun + $xOffset) > 2048 ) {
    		  break;
    		}
    		else {
    			if ( ( $xRun + $xOffset ) != 0 ) {
    			  $x += $xoffset;
    				for($Run = 0; $Run < $xRun; $Run++) {
    				  $color[$Run] = convertToInteger(fread($handle, 2));
    					  $r = (($color[$Run] >> 10)*8);
    					  $g = ((($color[$Run] >> 5) & 31)*8);
    				  $b = (($color[$Run] & 31)*8);
    					if (imagecolorexact($im, $r, $g, $b) == -1) {
    						$col = imagecolorallocate($im, $r, $g, $b);
    						imagesetpixel($im, $x, $y, $col);
    					} else {
    						$found = imagecolorexact($im, $r, $g, $b);
    						imagesetpixel($im, $x, $y, $found);
    					}
    				  $x++;
    				}
    			}
    
    header ("Content-type: image/png");
    imagepng($im);
    imagedestroy($im);

     

    Mēģināju izvadīt BMP formāta bet browseris lamājas ka kļūme atēlā

  3. 796264187.jpg

    kaut kāda 'šāda faila struktura ,tākā maziņa datubāze! Vispār gribas nolasīt to failu redzemā veidā!

    Varbūt kādam ir zināšanas ,vai sapratne ka to izdarīt?

    mēģināju izvadīt 12 bytus ,bet html attēlo kaut kādus herioglifus hmm... kaut kā eksportēt?

    <?php
    $filename = "artidx.mul";
    $handle = fopen($filename, "rb");
    $contents = fread($handle, 12);
    echo $contents;
    fclose($handle);
    ?>

    Links no kura ņēmu struktūru!

    http://uo.stratics.com/heptazane/fileformats.shtml#3.3

  4. <?php
    $filename = 'image/status.jpg';
    if (file_exists($filename)) {
    $chenged = date("F d Y H:i:s.", filectime($filename));
    $now = date("F d Y H:i:s.", time());
    $split = ($now - $chenged);
    echo "$filename was last changed: ".$chenged.$now.'<br><br>'.$split;	
    }
    ?>

    Mēģināju atņemt ,bet kaut kā nesanāk! Es gribu panākt lai fails "šajā gadījuma bilde" atjaunojas ik pēc 5 minūtēm!

    if (Ja faila filectime ir 5 minūtes mazāks nekā tagadējais laik) {

    ATJAUNOJAM FAILU

    }

    IZVADAM FAILU

     

    Ja nesapratāt sakiet izklāstīšu gudrāk

  5. Es zināju ka būs "kāds" kas to paprasīs! $%&

    ID | KAUT KAS | ORDER
    ------------------
    1  | x | 1
    2  | y | 2
    3  | f | 3

    un tad man sagribas f pacelt augstāk! Es spiežu php linku un kam tur jabūt lai sanāk šādi!

    ID | KAUT KAS | ORDER
    ------------------
    1  | x |  1
    3  | f |  2
    2  | y |  3

×
×
  • Create New...