SWFBitmap

(PHP 4 >= 4.0.5)

SWFBitmap -- Loads Bitmap object

Description

new swfbitmap ( string filename [, int alphafilename])

Προειδοποίηση

Αυτή η συνάρτηση είναι ΔΟΚΙΜΑΣΤΙΚΗ. Η συμπεριφορά της, το όνομα της και οτιδήποτε άλλο είναι τεκμηριωμένο σχετικά με αυτή την συνάρτηση μπορεί να αλλάξει χωρίς ειδοποίηση σε μελλοντικές εκδόσεις της PHP. Χρησιμοποιήστε αυτή την συνάρτηση με δικό σας ρίσκο.

swfbitmap() creates a new SWFBitmap object from the Jpeg or DBL file named filename. alphafilename indicates a MSK file to be used as an alpha mask for a Jpeg image.

Σημείωση: We can only deal with baseline (frame 0) jpegs, no baseline optimized or progressive scan jpegs!

SWFBitmap has the following methods : swfbitmap->getwidth() and swfbitmap->getheight().

You can't import png images directly, though- have to use the png2dbl utility to make a dbl ("define bits lossless") file from the png. The reason for this is that I don't want a dependency on the png library in ming- autoconf should solve this, but that's not set up yet.

Παράδειγμα 1. Import PNG files

<?php
  $s
= new SWFShape();
  
$f = $s->addFill(new SWFBitmap("png.dbl"));
  
$s->setRightFill($f);

  
$s->drawLine(32, 0);
  
$s->drawLine(0, 32);
  
$s->drawLine(-32, 0);
  
$s->drawLine(0, -32);

  
$m = new SWFMovie();
  
$m->setDimension(32, 32);
  
$m->add($s);

  
header('Content-type: application/x-shockwave-flash');
  
$m->output();
?>

And you can put an alpha mask on a jpeg fill.

Παράδειγμα 2. swfbitmap() example

<?php

  $s
= new SWFShape();

  
// .msk file generated with "gif2mask" utility
  
$f = $s->addFill(new SWFBitmap("alphafill.jpg", "alphafill.msk"));
  
$s->setRightFill($f);

  
$s->drawLine(640, 0);
  
$s->drawLine(0, 480);
  
$s->drawLine(-640, 0);
  
$s->drawLine(0, -480);

  
$c = new SWFShape();
  
$c->setRightFill($c->addFill(0x99, 0x99, 0x99));
  
$c->drawLine(40, 0);
  
$c->drawLine(0, 40);
  
$c->drawLine(-40, 0);
  
$c->drawLine(0, -40);

  
$m = new SWFMovie();
  
$m->setDimension(640, 480);
  
$m->setBackground(0xcc, 0xcc, 0xcc);

  
// draw checkerboard background
  
for ($y=0; $y<480; $y+=40) {
    for (
$x=0; $x<640; $x+=80) {
      
$i = $m->add($c);
      
$i->moveTo($x, $y);
    }

    
$y+=40;

    for (
$x=40; $x<640; $x+=80) {
      
$i = $m->add($c);
      
$i->moveTo($x, $y);
    }
  }

  
$m->add($s);

  
header('Content-type: application/x-shockwave-flash');
  
$m->output();
?>