1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.6 $ -->
<!-- splitted from ./en/functions/ming.xml, last change in rev 1.24 -->
<refentry id="function.swfbitmap">
<refnamediv>
<refname>SWFBitmap</refname>
<refpurpose>Loads Bitmap object</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>SWFBitmap</type><methodname>swfbitmap</methodname>
<methodparam><type>mixed</type><parameter>file</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>alphafile</parameter></methodparam>
</methodsynopsis>
&warn.experimental.func;
<para>
<function>swfbitmap</function> creates a new SWFBitmap object from
the Jpeg or DBL file in <parameter>file</parameter>.
<parameter>alphafile</parameter> is a MSK file to
be used as an alpha mask for a Jpeg image.
Both parameters can be <function>fopen</function> resources or binary
strings.
</para>
<note>
<para>
We can only deal with baseline (frame 0) jpegs, no baseline optimized or
progressive scan jpegs!
</para>
</note>
<simpara>
SWFBitmap has the following methods : <function>swfbitmap->getwidth</function>
and <function>swfbitmap->getheight</function>.
</simpara>
<para>
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.
<example>
<title>Import PNG files</title>
<programlisting role="php">
<![CDATA[
<?php
$s = new SWFShape();
$f = $s->addFill(new SWFBitmap(file_get_contents("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();
?>
]]>
</programlisting>
</example>
</para>
<para>
And you can put an alpha mask on a jpeg fill.
<example>
<title><function>swfbitmap</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$s = new SWFShape();
// .msk file generated with "gif2mask" utility
$f = $s->addFill(new SWFBitmap(file_get_contents("alphafill.jpg"), file_get_contents("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();
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|