Revision 33673
tags/tmp_build/install/instalador-gvSIG-deb/README.txt | ||
---|---|---|
1 |
OVERVIEW |
|
2 |
========== |
|
3 |
This ANT script builds a gvSIG Debian package. |
|
4 |
|
|
5 |
PRECONDITIONS |
|
6 |
========== |
|
7 |
- operative system with a GLIBC compatible version for all platforms |
|
8 |
Ex: If it's built on a Ubuntu 9.04 it won't run in a Debian etch |
|
9 |
|
|
10 |
- external commands cp, ln, dpck |
|
11 |
- external command make and cmake to build natives |
|
12 |
|
|
13 |
- a workspace in built without errors and the directory _fwAndami/gvSIG contains |
|
14 |
all the extensions |
|
15 |
|
|
16 |
The directory binaries/deb-etch must have the symbolic links to the native libraries |
|
17 |
|
|
18 |
The main dependencies are: |
|
19 |
libgdal1.5.0 for raster support (conflicts with v1.6 in order to support grass format) |
|
20 |
libstdc++5 for mrsid support |
|
21 |
|
|
22 |
BUILD |
|
23 |
========== |
|
24 |
|
|
25 |
1.- Building JNI gdal |
|
26 |
Edit libjni-gdal/CMakeModules/FindGDAL.cmake and put the path where |
|
27 |
gdal headers are placed. |
|
28 |
The easy way is install from repository (sudo aptitude install libgdal1-1.5.0-grass) and |
|
29 |
set the directory /usr/include/gdal |
|
30 |
Define the enviroment JAVA_HOME |
|
31 |
Finally, run the ant build script. |
|
32 |
|
|
33 |
2.- Building JNI ECW (v3.3) |
|
34 |
Edit libjni-ecw/CMakeModules/FindECW.cmake and put the path where |
|
35 |
ECW headers are placed (ie. /usr/local/include) |
|
36 |
Define the enviroment JAVA_HOME |
|
37 |
Finally, run the ant build script. |
|
38 |
|
|
39 |
3.- Building JNI MrSID (v7.0.0) |
|
40 |
Edit libjni-mrsid/CMakeModules/FindMRSID.cmake and put the path where |
|
41 |
MrSID headers are placed (ie /usr/local/Geo_DSDK-7.0.6.2167) |
|
42 |
NOTE: each group of lines has a different include directory!! |
|
43 |
Set gcc-3.4 as the default gcc compiler |
|
44 |
Set g++-3.4 as the default g++ compiler |
|
45 |
Change libstdc++ in the compiler ( /usr/lib/gcc/i486-linux-gnu/3.4.6). Its needed to point libstdc++.so.5 |
|
46 |
Define the enviroment JAVA_HOME |
|
47 |
Finally, run the ant build script |
|
48 |
|
|
49 |
4.- Building JNI proj |
|
50 |
Edit libjni-proj4/Makefile to set the directory where is placed the JNI headers |
|
51 |
For example: |
|
52 |
"default_PROJECT_INCS= -Iinclude -I/usr/lib/jvm/java-1.5.0-sun/include -I/usr/lib/jvm/java-1.5.0-sun/include/linux" |
|
53 |
In a shell execute make |
|
54 |
|
|
55 |
5.- Building the package |
|
56 |
Run the ant script and the binary will be placed in the directory "dist" |
|
57 |
|
|
58 |
|
|
59 |
POSTCONDITIONS |
|
60 |
============== |
|
61 |
|
|
62 |
-gvSIG Files: |
|
63 |
/opt/gvSIG/bin --> script to run gvSIG and extensions |
|
64 |
/opt/gvSIG/lib --> java binaries (jars) |
|
65 |
/opt/gvSIG/libs --> native libraries (so) |
|
66 |
|
|
67 |
-System files: |
|
68 |
/usr/share/mime/packages/gvsig.xml --> gvSIG mime type definition |
|
69 |
/usr/share/applications/gvsig.desktop --> desktop shortcut definition |
|
70 |
/usr/share/icons/ico-gvSIG.png --> shortcut icon |
|
71 |
|
|
72 |
TODO |
|
73 |
===== |
|
74 |
check /usr/share/mime/packages/gvsig.xml |
|
75 |
Version number automatic |
|
76 |
|
|
77 |
KNOWN PROBLEMS |
|
78 |
============== |
|
79 |
In the build.xml copy task doesn't preserve permission. Use task exec (with command cp) instead. |
|
80 |
|
|
81 |
HOWTO INSTALL |
|
82 |
============== |
|
83 |
aptitude install libgdal1-1.5.0-grass sun-java5-jre |
|
84 |
aptitude remove libgdal1-1.6.0 |
|
85 |
dpkg -i *.deb |
|
86 |
|
|
87 |
|
|
88 |
ANY DOUBT |
|
89 |
========== |
|
90 |
jvhigon@gvsig.org |
|
0 | 91 |
tags/tmp_build/install/instalador-gvSIG-deb/build.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<project name="BuildDebian" basedir="." default="build-without-jre"> |
|
3 |
|
|
4 |
<property name="dist.dir" value="dist"/> |
|
5 |
<property name="build.dir" value="build"/> |
|
6 |
<property name="gvsig.version" value="1.10"/> |
|
7 |
<property name="gvsig.dir" value="/opt/gvSIG-${gvsig.version}"/> |
|
8 |
<property file="../../appgvSIG/build.number" prefix="gvsig"/> |
|
9 |
|
|
10 |
<!-- |
|
11 |
<property name="jni-gdal.dir" value="../../libjni-gdal/lib-dist"/> |
|
12 |
<property name="jni-proj.dir" value="../../libjni-proj4/dist"/> |
|
13 |
--> |
|
14 |
|
|
15 |
<property name="libs.dir" value="../../binaries/linux"/> |
|
16 |
<property name="jni-gdal.dir" value="../../binaries/deb-etch/gdal"/> |
|
17 |
<property name="jni-proj.dir" value="../../binaries/deb-etch/proj"/> |
|
18 |
<property name="jni-ecw.dir" value="../../binaries/deb-etch/ecw"/> |
|
19 |
<property name="jni-mrsid.dir" value="../../binaries/deb-etch/mrsid"/> |
|
20 |
|
|
21 |
<target name="prepare" description="Prepare directory build" depends="prepare-common,prepare-all-natives"> |
|
22 |
<!--Copy debian structure and change permissions --> |
|
23 |
<copy todir="${build.dir}" overwrite="true" preservelastmodified="false"> |
|
24 |
<fileset dir="${resources.dir}"> |
|
25 |
<exclude name="gvSIG.sh"/> |
|
26 |
</fileset> |
|
27 |
</copy> |
|
28 |
<exec executable="chmod" dir="${build.dir}/DEBIAN"> |
|
29 |
<arg value="775"/> |
|
30 |
<arg value="postinst"/> |
|
31 |
<arg value="postrm"/> |
|
32 |
<arg value="preinst"/> |
|
33 |
</exec> |
|
34 |
<!--Copy gvSIG.sh --> |
|
35 |
<copy file="${resources.dir}/gvSIG.sh" todir="${build.dir}${gvsig.dir}/bin"/> |
|
36 |
</target> |
|
37 |
|
|
38 |
|
|
39 |
<target name="prepare-common" description="Prepare common files in the build directory"> |
|
40 |
<!--Copy gvSIG lib --> |
|
41 |
<copy todir="${build.dir}${gvsig.dir}/bin/lib"> |
|
42 |
<fileset dir="../../_fwAndami/lib/"> |
|
43 |
<exclude name=".svn"/> |
|
44 |
</fileset> |
|
45 |
</copy> |
|
46 |
<!--Copy gvSIG bin directory --> |
|
47 |
<copy todir="${build.dir}${gvsig.dir}/bin/gvSIG"> |
|
48 |
<fileset dir="../../_fwAndami/gvSIG/"> |
|
49 |
<exclude name=".svn"/> |
|
50 |
</fileset> |
|
51 |
</copy> |
|
52 |
<!--Copy theme --> |
|
53 |
<copy todir="${build.dir}${gvsig.dir}/bin/theme"> |
|
54 |
<fileset dir="../../_fwAndami/theme/"> |
|
55 |
<exclude name=".svn"/> |
|
56 |
</fileset> |
|
57 |
</copy> |
|
58 |
<!--Copy andami.jar --> |
|
59 |
<copy file="../../_fwAndami/andami.jar" todir="${build.dir}${gvsig.dir}/bin"/> |
|
60 |
<!-- Copy /usr resources --> |
|
61 |
<copy todir="${build.dir}/usr"> |
|
62 |
<fileset dir="resources/usr"></fileset> |
|
63 |
</copy> |
|
64 |
</target> |
|
65 |
|
|
66 |
<target name="prepare-all-natives" description="Prepare directory build with gvSIG native libraries"> |
|
67 |
<mkdir dir="${build.dir}${gvsig.dir}/libs"/> |
|
68 |
<!--Copy ALL natives --> |
|
69 |
<copy todir="${build.dir}${gvsig.dir}/libs"> |
|
70 |
<fileset dir="${libs.dir}"> |
|
71 |
<include name="*so*"/> |
|
72 |
</fileset> |
|
73 |
</copy> |
|
74 |
</target> |
|
75 |
|
|
76 |
|
|
77 |
<target name="build-without-jre" description="Creates a Debian Package" depends="clean,prepare-all-natives,copyJAI"> |
|
78 |
<mkdir dir="${dist.dir}"/> |
|
79 |
<antcall target="prepare"> |
|
80 |
<param name="resources.dir" value="resources/without-jre"/> |
|
81 |
</antcall> |
|
82 |
<antcall target="prepare-version"/> |
|
83 |
<exec executable="dpkg"> |
|
84 |
<arg value="--build"/> |
|
85 |
<arg value="${build.dir}"/> |
|
86 |
<arg value="${dist.dir}"/> |
|
87 |
</exec> |
|
88 |
</target> |
|
89 |
<target name="build-with-jre" description="Creates a Debian Package with JRE" depends="clean,prepare-all-natives,copyJRE,copyJAI"> |
|
90 |
<mkdir dir="${dist.dir}"/> |
|
91 |
<antcall target="prepare"> |
|
92 |
<param name="resources.dir" value="resources/with-jre"/> |
|
93 |
</antcall> |
|
94 |
<antcall target="prepare-version"/> |
|
95 |
<exec executable="dpkg"> |
|
96 |
<arg value="--build"/> |
|
97 |
<arg value="${build.dir}"/> |
|
98 |
<arg value="${dist.dir}"/> |
|
99 |
</exec> |
|
100 |
</target> |
|
101 |
<target name="build-with-jre-etch" description="Creates a Debian Package with JRE and usinf etch libraries" depends="clean,prepare-all-natives,copyJRE,copyJAI"> |
|
102 |
<mkdir dir="${dist.dir}"/> |
|
103 |
<antcall target="prepare"> |
|
104 |
<param name="resources.dir" value="resources/with-jre"/> |
|
105 |
</antcall> |
|
106 |
<copy todir="${build.dir}${gvsig.dir}/libs" overwrite="true" preservelastmodified="false"> |
|
107 |
<fileset dir="${jni-ecw.dir}"/> |
|
108 |
<fileset dir="${jni-gdal.dir}"/> |
|
109 |
<fileset dir="${jni-mrsid.dir}"/> |
|
110 |
<fileset dir="${jni-proj.dir}"/> |
|
111 |
</copy> |
|
112 |
<replace file="${build.dir}/DEBIAN/control" token="gvsig-jre" value="gvsig-jre-etch" /> |
|
113 |
<antcall target="prepare-version"/> |
|
114 |
<exec executable="dpkg"> |
|
115 |
<arg value="--build"/> |
|
116 |
<arg value="${build.dir}"/> |
|
117 |
<arg value="${dist.dir}"/> |
|
118 |
</exec> |
|
119 |
</target> |
|
120 |
<target name="prepare-version" description="Debian control file"> |
|
121 |
<replace file="${build.dir}/DEBIAN/control" token="#version#" value="${gvsig.version}" /> |
|
122 |
<replace file="${build.dir}/DEBIAN/control" token="#build#" value="${gvsig.build.number}" /> |
|
123 |
<replace file="${build.dir}/${gvsig.dir}/bin/gvSIG.sh" token="@version" value="${gvsig.version}" /> |
|
124 |
<replace file="${build.dir}/usr/share/applications/gvsig.desktop" token="@version" value="${gvsig.version}" /> |
|
125 |
|
|
126 |
<!--<replace file="${build.dir}/DEBIAN/postinst" token="@version" value="${gvsig.version}"/> |
|
127 |
<replace file="${build.dir}/DEBIAN/postrm" token="@version" value="${gvsig.version}" /> |
|
128 |
--> |
|
129 |
|
|
130 |
</target> |
|
131 |
|
|
132 |
<target name="copyJRE" description="Adds JRE."> |
|
133 |
<copy file="../instalador-gvSIG-lin/jre/j2re-1_6_0_20-linux.tar.gz" todir="${build.dir}${gvsig.dir}"/> |
|
134 |
|
|
135 |
</target> |
|
136 |
<target name="copyJAI" description="Copy JAI libraries."> |
|
137 |
<copy todir="${build.dir}${gvsig.dir}/libs"> |
|
138 |
<fileset dir="resources/jai/libs"> |
|
139 |
</fileset> |
|
140 |
</copy> |
|
141 |
<copy todir="${build.dir}${gvsig.dir}/bin/lib"> |
|
142 |
<fileset dir="resources/jai/lib"> |
|
143 |
</fileset> |
|
144 |
</copy> |
|
145 |
<copy file="resources/jai/LICENSE-jai.txt" todir="${build.dir}${gvsig.dir}"/> |
|
146 |
</target> |
|
147 |
|
|
148 |
<target name="clean" description="Cleans the build directory"> |
|
149 |
<delete dir="${build.dir}" /> |
|
150 |
</target> |
|
151 |
|
|
152 |
</project> |
|
0 | 153 |
tags/tmp_build/install/instalador-gvSIG-deb/resources/without-jre/gvSIG.sh | ||
---|---|---|
1 |
#!/bin/sh |
|
2 |
# gvSIG.sh |
|
3 |
export GVSIG_LIBS="/opt/gvSIG-@version/libs" |
|
4 |
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$GVSIG_LIBS" |
|
5 |
export PROJ_LIB="/opt/gvSIG-@version/bin/gvSIG/extensiones/org.gvsig.crs/data" |
|
6 |
export GDAL_DATA="$GVSIG_LIBS/gdal_data" |
|
7 |
cd "/opt/gvSIG-@version/bin" |
|
8 |
#java -Djava.library.path=/usr/lib:"/opt/gvSIG-@version/libs" -cp andami.jar:./lib/gvsig-i18n.jar:./lib/beans.jar:./lib/log4j-1.2.8.jar:./lib/iver-utiles.jar:./lib/castor-0.9.5.3-xml.jar:./lib/crimson.jar:./lib/xerces_2_5_0.jar:./lib/javaws.jar:./lib/xml-apis.jar:./lib/looks-2.0.2.jar:./lib/JWizardComponent.jar -Xmx500M com.iver.andami.Launcher gvSIG gvSIG/extensiones $1 |
|
9 |
|
|
10 |
for i in ./lib/*.jar ; do |
|
11 |
LIBRARIES=$LIBRARIES:"$i" |
|
12 |
done |
|
13 |
for i in ./lib/*.zip ; do |
|
14 |
LIBRARIES=$LIBRARIES:"$i" |
|
15 |
done |
|
16 |
|
|
17 |
/usr/lib/jvm/java-6-sun/bin/java -Djava.library.path=/usr/lib:"/opt/gvSIG-@version/libs" -cp andami.jar$LIBRARIES -Xmx500M com.iver.andami.Launcher gvSIG gvSIG/extensiones "$@" |
|
0 | 18 |
tags/tmp_build/install/instalador-gvSIG-deb/resources/without-jre/DEBIAN/control | ||
---|---|---|
1 |
Package: gvsig |
|
2 |
Version: #version#-#build# |
|
3 |
Priority: optional |
|
4 |
Section: science |
|
5 |
Architecture: i386 |
|
6 |
Depends: sun-java6-jre |
|
7 |
Maintainer: Jose Vicente Higon <jvhigon@gvsig.org> |
|
8 |
Description: An open source GIS Desktop client |
|
9 |
More information at http://www.gvsig.gva.es |
tags/tmp_build/install/instalador-gvSIG-deb/resources/without-jre/DEBIAN/postinst | ||
---|---|---|
1 |
#! /bin/sh |
|
2 |
|
|
3 |
if [ "$1" = "configure" ]; then |
|
4 |
if [ -x /usr/bin/update-desktop-database ] ; then |
|
5 |
/usr/bin/update-desktop-database |
|
6 |
fi |
|
7 |
if [ -x /usr/bin/update-mime-database ] ; then |
|
8 |
/usr/bin/update-mime-database /usr/share/mime |
|
9 |
fi |
|
10 |
fi |
|
11 |
|
|
12 |
|
|
13 |
if [ -d /opt/gvSIG-1.10 ] |
|
14 |
then |
|
15 |
cd /opt/gvSIG-1.10 |
|
16 |
else |
|
17 |
echo "Directory /opt/gvSIG-1.10 doesn't exist" |
|
18 |
exit -1 |
|
19 |
fi |
|
20 |
|
|
21 |
#change permissions |
|
22 |
chmod 775 bin/gvSIG.sh |
|
23 |
chmod 777 bin |
|
24 |
chmod -R 777 bin/gvSIG/extensiones |
|
25 |
|
|
26 |
#check license agreement |
|
27 |
more LICENSE-jai.txt |
|
28 |
|
|
29 |
while (true) |
|
30 |
do |
|
31 |
echo "" |
|
32 |
echo "Do you agree? [y/n]" |
|
33 |
read ok |
|
34 |
if [ $ok = "y" ] |
|
35 |
then |
|
36 |
exit 0 |
|
37 |
else |
|
38 |
if [ $ok = "n" ] |
|
39 |
then |
|
40 |
exit 1 |
|
41 |
fi |
|
42 |
fi |
|
43 |
done |
|
44 |
|
|
0 | 45 |
tags/tmp_build/install/instalador-gvSIG-deb/resources/without-jre/DEBIAN/postrm | ||
---|---|---|
1 |
#! /bin/sh |
|
2 |
# postun script for openproj |
|
3 |
|
|
4 |
if [ "$1" = "configure" ]; then |
|
5 |
if [ -x /usr/bin/update-desktop-database ] ; then |
|
6 |
/usr/bin/update-desktop-database |
|
7 |
fi |
|
8 |
if [ -x /usr/bin/update-mime-database ] ; then |
|
9 |
/usr/bin/update-mime-database /usr/share/mime |
|
10 |
fi |
|
11 |
fi |
|
12 |
|
|
13 |
#remove directory |
|
14 |
cd /opt |
|
15 |
rm -rf gvSIG-1.10 |
|
0 | 16 |
tags/tmp_build/install/instalador-gvSIG-deb/resources/without-jre/DEBIAN/preinst | ||
---|---|---|
1 |
#!/bin/sh |
|
2 |
exit 0 |
|
0 | 3 |
tags/tmp_build/install/instalador-gvSIG-deb/resources/without-jre/debian-binary | ||
---|---|---|
1 |
2.0 |
tags/tmp_build/install/instalador-gvSIG-deb/resources/jai/LICENSE-jai.txt | ||
---|---|---|
1 |
Sun Microsystems, Inc. |
|
2 |
Binary Code License Agreement |
|
3 |
JAVA ADVANCED IMAGING API, VERSION 1.1.2 |
|
4 |
|
|
5 |
READ THE TERMS OF THIS AGREEMENT AND ANY PROVIDED SUPPLEMENTAL LICENSE TERMS |
|
6 |
(COLLECTIVELY "AGREEMENT") CAREFULLY BEFORE OPENING THE SOFTWARE MEDIA |
|
7 |
PACKAGE. BY OPENING THE SOFTWARE MEDIA PACKAGE, YOU AGREE TO THE TERMS OF |
|
8 |
THIS AGREEMENT. IF YOU ARE ACCESSING THE SOFTWARE ELECTRONICALLY, INDICATE |
|
9 |
YOUR ACCEPTANCE OF THESE TERMS BY SELECTING THE "ACCEPT" BUTTON AT THE END |
|
10 |
OF THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL THESE TERMS, PROMPTLY RETURN |
|
11 |
THE UNUSED SOFTWARE TO YOUR PLACE OF PURCHASE FOR A REFUND OR, IF THE |
|
12 |
SOFTWARE IS ACCESSED ELECTRONICALLY, SELECT THE "DECLINE" BUTTON AT THE END |
|
13 |
OF THIS AGREEMENT. |
|
14 |
|
|
15 |
1. LICENSE TO USE. Sun grants you a non-exclusive and non-transferable |
|
16 |
license for the internal use only of the accompanying software and |
|
17 |
documentation and any error corrections provided by Sun (collectively |
|
18 |
"Software"), by the number of users and the class of computer hardware for |
|
19 |
which the corresponding fee has been paid. |
|
20 |
|
|
21 |
2. RESTRICTIONS. Software is confidential and copyrighted. Title to |
|
22 |
Software and all associated intellectual property rights is retained by Sun |
|
23 |
and/or its licensors. Except as specifically authorized in any Supplemental |
|
24 |
License Terms, you may not make copies of Software, other than a single copy |
|
25 |
of Software for archival purposes. Unless enforcement is prohibited by |
|
26 |
applicable law, you may not modify, decompile, or reverse engineer |
|
27 |
Software. You acknowledge that Software is not designed, licensed or |
|
28 |
intended for use in the design, construction, operation or maintenance of |
|
29 |
any nuclear facility. Sun disclaims any express or implied warranty of |
|
30 |
fitness for such uses. No right, title or interest in or to any trademark, |
|
31 |
service mark, logo or trade name of Sun or its licensors is granted under |
|
32 |
this Agreement. |
|
33 |
|
|
34 |
3. LIMITED WARRANTY. Sun warrants to you that for a period of ninety (90) |
|
35 |
days from the date of purchase, as evidenced by a copy of the receipt, the |
|
36 |
media on which Software is furnished (if any) will be free of defects in |
|
37 |
materials and workmanship under normal use. Except for the foregoing, |
|
38 |
Software is provided "AS IS". Your exclusive remedy and Sun's entire |
|
39 |
liability under this limited warranty will be at Sun's option to replace |
|
40 |
Software media or refund the fee paid for Software. |
|
41 |
|
|
42 |
4. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS |
|
43 |
OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED |
|
44 |
WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR |
|
45 |
NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS |
|
46 |
ARE HELD TO BE LEGALLY INVALID. |
|
47 |
|
|
48 |
5. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO |
|
49 |
EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR |
|
50 |
DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE |
|
51 |
DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT |
|
52 |
OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS |
|
53 |
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. In no event will Sun's |
|
54 |
liability to you, whether in contract, tort (including negligence), or |
|
55 |
otherwise, exceed the amount paid by you for Software under this Agreement. |
|
56 |
The foregoing limitations will apply even if the above stated warranty fails |
|
57 |
of its essential purpose. |
|
58 |
|
|
59 |
6. Termination. This Agreement is effective until terminated. You may |
|
60 |
terminate this Agreement at any time by destroying all copies of Software. |
|
61 |
This Agreement will terminate immediately without notice from Sun if you |
|
62 |
fail to comply with any provision of this Agreement. Upon Termination, you |
|
63 |
must destroy all copies of Software. |
|
64 |
|
|
65 |
7. Export Regulations. All Software and technical data delivered under this |
|
66 |
Agreement are subject to US export control laws and may be subject to export |
|
67 |
or import regulations in other countries. You agree to comply strictly with |
|
68 |
all such laws and regulations and acknowledge that you have the |
|
69 |
responsibility to obtain such licenses to export, re-export, or import as |
|
70 |
may be required after delivery to you. |
|
71 |
|
|
72 |
8. U.S. Government Restricted Rights. If Software is being acquired by or |
|
73 |
on behalf of the U.S. Government or by a U.S. Government prime contractor or |
|
74 |
subcontractor (at any tier), then the Government's rights in Software and |
|
75 |
accompanying documentation will be only as set forth in this Agreement; this |
|
76 |
is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of |
|
77 |
Defense (DOD) acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD |
|
78 |
acquisitions). |
|
79 |
|
|
80 |
9. Governing Law. Any action related to this Agreement will be governed by |
|
81 |
California law and controlling U.S. federal law. No choice of law rules of |
|
82 |
any jurisdiction will apply. |
|
83 |
|
|
84 |
10. Severability. If any provision of this Agreement is held to be |
|
85 |
unenforceable, this Agreement will remain in effect with the provision |
|
86 |
omitted, unless omission would frustrate the intent of the parties, in which |
|
87 |
case this Agreement will immediately terminate. |
|
88 |
|
|
89 |
11. Integration. This Agreement is the entire agreement between you and |
|
90 |
Sun relating to its subject matter. It supersedes all prior or |
|
91 |
contemporaneous oral or written communications, proposals, representations |
|
92 |
and warranties and prevails over any conflicting or additional terms of any |
|
93 |
quote, order, acknowledgment, or other communication between the parties |
|
94 |
relating to its subject matter during the term of this Agreement. No |
|
95 |
modification of this Agreement will be binding, unless in writing and signed |
|
96 |
by an authorized representative of each party. |
|
97 |
|
|
98 |
DEVELOPMENT TOOLS |
|
99 |
JAVA ADVANCED IMAGING, VERSION 1.1.2 |
|
100 |
SUPPLEMENTAL LICENSE TERMS |
|
101 |
|
|
102 |
These supplemental license terms ("Supplemental Terms") add to or modify the |
|
103 |
terms of the Binary Code License Agreement (collectively, the "Agreement"). |
|
104 |
Capitalized terms not defined in these Supplemental Terms shall have the |
|
105 |
same meanings ascribed to them in the Agreement. These Supplemental Terms |
|
106 |
shall supersede any inconsistent or conflicting terms in the Agreement, or |
|
107 |
in any license contained within the Software. |
|
108 |
|
|
109 |
1. Software Internal Use and Development License Grant. Subject to the terms |
|
110 |
and conditions of this Agreement, including, but not limited to Section 3 |
|
111 |
(Java(TM) Technology Restrictions) of these Supplemental Terms, Sun grants |
|
112 |
you a non-exclusive, non-transferable, limited license to reproduce |
|
113 |
internally and use internally the binary form of the Software complete and |
|
114 |
unmodified for the sole purpose of designing, developing and testing your |
|
115 |
Java applets and applications intended to run on the Java platform |
|
116 |
("Programs"). |
|
117 |
|
|
118 |
2. License to Distribute Software. In addition to the license granted in |
|
119 |
Section 1 (Software Internal Use and Development License Grant) of these |
|
120 |
Supplemental Terms, subject to the terms and conditions of this Agreement, |
|
121 |
including but not limited to Section 3 (Java Technology Restrictions) of |
|
122 |
these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, |
|
123 |
limited license to reproduce and distribute the Software in binary code form |
|
124 |
only, provided that you (i) distribute the Software complete and unmodified |
|
125 |
and only bundled as part of your Programs, (ii) do not distribute additional |
|
126 |
software intended to replace any component(s) of the Software, (iii) do not |
|
127 |
remove or alter any proprietary legends or notices contained in the |
|
128 |
Software, (iv) only distribute the Software subject to a license agreement |
|
129 |
that protects Sun's interests consistent with the terms contained in this |
|
130 |
Agreement, and (v) agree to defend and indemnify Sun and its licensors from |
|
131 |
and against any damages, costs, liabilities, settlement amounts and/or |
|
132 |
expenses (including attorneys' fees) incurred in connection with any claim, |
|
133 |
lawsuit or action by any third party that arises or results from the use or |
|
134 |
distribution of any and all Programs and/or Software. |
|
135 |
|
|
136 |
3. Java Technology Restrictions. You may not modify the Java Platform |
|
137 |
Interface ("JPI", identified as classes contained within the "java" package |
|
138 |
or any subpackages of the "java" package), by creating additional classes |
|
139 |
within the JPI or otherwise causing the addition to or modification of the |
|
140 |
classes in the JPI. In the event that you create an additional class and |
|
141 |
associated API(s) which (i) extends the functionality of the Java platform, |
|
142 |
and (ii) is exposed to third party software developers for the purpose of |
|
143 |
developing additional software which invokes such additional API, you must |
|
144 |
promptly publish broadly an accurate specification for such API for free use |
|
145 |
by all developers. You may not create, or authorize your licensees to |
|
146 |
create, additional classes, interfaces, or subpackages that are in any way |
|
147 |
identified as "java", "javax", "sun" or similar convention as specified by |
|
148 |
Sun in any naming convention designation. |
|
149 |
|
|
150 |
4. Java Runtime Availability. Refer to the appropriate version of the Java |
|
151 |
Runtime Environment binary code license (currently located at |
|
152 |
http://www.java.sun.com/jdk/index.html) for the availability of runtime code |
|
153 |
which may be distributed with Java applets and applications. |
|
154 |
|
|
155 |
5. Trademarks and Logos. You acknowledge and agree as between you and Sun |
|
156 |
that Sun owns the SUN, SOLARIS, JAVA, JINI, FORTE, STAROFFICE, STARPORTAL |
|
157 |
and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, STAROFFICE, |
|
158 |
STARPORTAL and iPLANET-related trademarks, service marks, logos and other |
|
159 |
brand designations ("Sun Marks"), and you agree to comply with the Sun |
|
160 |
Trademark and Logo Usage Requirements currently located at |
|
161 |
http://www.sun.com/policies/trademarks. Any use you make of the Sun Marks |
|
162 |
inures to Sun's benefit. |
|
163 |
|
|
164 |
6. Source Code. Software may contain source code that is provided solely for |
|
165 |
reference purposes pursuant to the terms of this Agreement. Source code may |
|
166 |
not be redistributed unless expressly provided for in this Agreement. |
|
167 |
|
|
168 |
7. Termination for Infringement. Either party may terminate this Agreement |
|
169 |
immediately should any Software become, or in either party's opinion be |
|
170 |
likely to become, the subject of a claim of infringement of any intellectual |
|
171 |
property right. |
|
172 |
|
|
173 |
For inquiries please contact: Sun Microsystems, Inc.,. 4150 Network |
|
174 |
Circle, Santa Clara, California 95054, U.S.A |
|
175 |
(Form ID#011801) |
|
0 | 176 |
tags/tmp_build/install/instalador-gvSIG-deb/resources/jai/COPYRIGHT-jai.txt | ||
---|---|---|
1 |
Copyright 2002 Sun Microsystems, Inc., 4150 |
|
2 |
Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved. |
|
3 |
|
|
4 |
Sun Microsystems, Inc. has intellectual property rights relating to |
|
5 |
technology embodied in this product. In particular, and without |
|
6 |
limitation, these intellectual property rights may include one or more |
|
7 |
of the U.S. patents listed at http://www.sun.com/patents and one or more |
|
8 |
additional patents or pending patent applications in the U.S. and other |
|
9 |
countries. |
|
10 |
|
|
11 |
This product is distributed under licenses restricting its use, copying |
|
12 |
distribution, and decompilation. No part of this product may be |
|
13 |
reproduced in any form by any means without prior written authorization |
|
14 |
of Sun and its licensors, if any. |
|
15 |
|
|
16 |
Third-party software, including font technology, is copyrighted and |
|
17 |
licensed from Sun suppliers. |
|
18 |
|
|
19 |
Parts of the product may be derived from Berkeley BSD systems, licensed |
|
20 |
from the University of California. UNIX is a registered trademark in the |
|
21 |
U.S. and in other countries, exclusively licensed through X/Open |
|
22 |
Company, Ltd. |
|
23 |
|
|
24 |
Sun, Sun Microsystems, the Sun logo, Java, and Solaris, the 100% Pure |
|
25 |
Java logo, the Java Coffee Cup logo and the Solaris logo are trademarks |
|
26 |
or registered trademarks of Sun Microsystems, Inc. in the U.S. and other |
|
27 |
countries. |
|
28 |
|
|
29 |
|
|
30 |
|
|
31 |
The OPEN LOOK and Sun(TM) Graphical User Interface was developed by Sun |
|
32 |
Microsystems, Inc. for its users and licensees. Sun acknowledges the |
|
33 |
pioneering efforts of Xerox in researching and developing the concept of |
|
34 |
visual or graphical user interfaces for the computer industry. Sun holds |
|
35 |
a non-exclusive license from Xerox to the Xerox Graphical User |
|
36 |
Interface, which license also covers Sun's licensees who implement OPEN |
|
37 |
LOOK GUIs and otherwise comply with Sun's written license agreements. |
|
38 |
|
|
39 |
Federal Acquisitions: Commercial Software - Government Users Subject to |
|
40 |
Standard License Terms and Conditions. |
|
41 |
|
|
42 |
DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED |
|
43 |
CONDITIONS. REPRESENTATIONS AND WARRANTIES, INCLUDING ANY |
|
44 |
IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A |
|
45 |
PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, |
|
46 |
EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE |
|
47 |
LEGALLY INVALID. |
|
48 |
|
|
49 |
|
|
50 |
|
|
51 |
Copyright 2002 Sun Microsystems, Inc., 4150 |
|
52 |
Network Circle, Santa Clara, California 95054, Etats-Unis. Tous droits |
|
53 |
r?serv?s. |
|
54 |
|
|
55 |
Sun Microsystems, Inc. a les droits de propri?t? intellectuels relatants |
|
56 |
? la technologie incorpor?e dans ce produit. En particulier, et sans la |
|
57 |
limitation, ces droits de propri?t? intellectuels peuvent inclure un ou |
|
58 |
plus des brevets am?ricains ?num?r?s ? http://www.sun.com/patents et un |
|
59 |
ou les brevets plus suppl?mentaires ou les applications de brevet en |
|
60 |
attente dans les Etats - Unis et les autres pays. |
|
61 |
|
|
62 |
Ce produit ou document est prot?g? par un copyright et distribu? avec |
|
63 |
des licences qui en restreignent l'utilisation, la copie, la |
|
64 |
distribution, et la d?compilation. Aucune partie de ce produit ou |
|
65 |
document ne peut ?tre reproduite sous aucune forme, par quelque moyen |
|
66 |
que ce soit, sans l'autorisation pr?alable et ?crite de Sun et de ses |
|
67 |
bailleurs de licence, s'il y ena. |
|
68 |
|
|
69 |
Le logiciel d?tenu par des tiers, et qui comprend la technologie |
|
70 |
relative aux polices de caract?res, est prot?g? par un copyright et |
|
71 |
licenci? par des fournisseurs de Sun. |
|
72 |
|
|
73 |
Des parties de ce produit pourront ?tre d?riv?es des syst?mes Berkeley |
|
74 |
BSD licenci?s par l'Universit? de Californie. UNIX est une marque |
|
75 |
d?pos?e aux Etats-Unis et dans d'autres pays et licenci?e exclusivement |
|
76 |
par X/Open Company, Ltd. |
|
77 |
|
|
78 |
Sun, Sun Microsystems, le logo Sun, Java, Solaris, le logo 100% Pure |
|
79 |
Java, le logo Java Coffee Cup et le logo Solaris sont des marques de |
|
80 |
fabrique ou des marques d?pos?es de Sun Microsystems, Inc. aux |
|
81 |
Etats-Unis et dans d'autres pays. |
|
82 |
|
|
83 |
|
|
84 |
|
|
85 |
L'interface d'utilisation graphique OPEN LOOK et Sun(TM) a ?t? |
|
86 |
d?velopp?e par Sun Microsystems, Inc. pour ses utilisateurs et |
|
87 |
licenci?s. Sun reconna?t les efforts de pionniers de Xerox pour la |
|
88 |
recherche et le d?veloppment du concept des interfaces d'utilisation |
|
89 |
visuelle ou graphique pour l'industrie de l'informatique. Sun d?tient |
|
90 |
une license non exclusive do Xerox sur l'interface d'utilisation |
|
91 |
graphique Xerox, cette licence couvrant ?galement les licenci?es de Sun |
|
92 |
qui mettent en place l'interface d 'utilisation graphique OPEN LOOK et |
|
93 |
qui en outre se conforment aux licences ?crites de Sun. |
|
94 |
|
|
95 |
DOCUMENTATION EST FOURNIE "EN L'?TAT" ET TOUTES AUTRES CONDITIONS, |
|
96 |
DECLARATIONS ET GARANTIES EXPRESSES OU TACITES SONT FORMELLEMENT |
|
97 |
EXCLUES, DANS LA MESURE AUTORISEE PAR LA LOI APPLICABLE, Y COMPRIS |
|
98 |
NOTAMMENT TOUTE GARANTIE IMPLICITE RELATIVE A LA QUALITE MARCHANDE, A |
|
99 |
L'APTITUDE A UNE UTILISATION PARTICULIERE OU A L'ABSENCE DE CONTREFA?ON. |
|
0 | 100 |
tags/tmp_build/install/instalador-gvSIG-deb/resources/jai/README-jai.txt | ||
---|---|---|
1 |
JavaTM Advanced Imaging API v1.1.2 Readme |
|
2 |
|
|
3 |
Contents |
|
4 |
|
|
5 |
* Introduction |
|
6 |
o Installation and System Requirements |
|
7 |
o Documentation |
|
8 |
o Bugs |
|
9 |
* Overview of JAI Functionality |
|
10 |
o Core Functionality |
|
11 |
o Operators |
|
12 |
+ Native Acceleration |
|
13 |
o How to Run the JAI 1.1 version of Remote Imaging |
|
14 |
o How to Run the JAI 1.0.2 version of Remote Imaging |
|
15 |
* What's New |
|
16 |
o Core Classes |
|
17 |
o Operations |
|
18 |
o Network Imaging |
|
19 |
o Widget Package |
|
20 |
o Fixed Bugs |
|
21 |
* Changes From JAI 1.1.2-beta to JAI 1.1.2-RC |
|
22 |
o Bugs Fixed in JAI 1.1.2-RC |
|
23 |
o Enhancements Added in JAI 1.1.2-RC |
|
24 |
* Changes From JAI 1.1.2-RC to JAI 1.1.2 |
|
25 |
o Bugs Fixed in JAI 1.1.2 |
|
26 |
o Enhancements Added in JAI 1.1.2 |
|
27 |
|
|
28 |
* Feedback |
|
29 |
|
|
30 |
Introduction |
|
31 |
|
|
32 |
The Maintenance Review release of the 1.1 version of the Java TM Advanced |
|
33 |
Imaging (JAI) specification contains some changes since the JAI 1.1 |
|
34 |
specification Final Release. The present reference implementation, called |
|
35 |
Java Advanced Imaging 1.1.2, implements the Maintenance Review version of |
|
36 |
the JAI 1.1 specification and also contains bug fixes and performance |
|
37 |
enhancements with respect to the most recent implementation of the JAI 1.1 |
|
38 |
specification Final Release which was called JAI 1.1.1_01. It represents |
|
39 |
development pursuant to maintenance of the Java Advanced Imaging 1.1 JSR. |
|
40 |
|
|
41 |
The changes since JAI 1.1.1_01 are described in the "What's New" section of |
|
42 |
this document. |
|
43 |
|
|
44 |
The Java Advanced Imaging API home page is located at |
|
45 |
http://java.sun.com/products/java-media/jai/. There you will find binaries, |
|
46 |
documentation, answers to frequently asked questions, and other information. |
|
47 |
|
|
48 |
Installation and System Requirements |
|
49 |
|
|
50 |
For general installation instructions please refer to the INSTALL page. For |
|
51 |
system requirements please refer to the system requirements section of the |
|
52 |
INSTALL page. |
|
53 |
|
|
54 |
Documentation |
|
55 |
|
|
56 |
Links to Java Advanced Imaging documentation are available at |
|
57 |
http://java.sun.com/products/java-media/jai/docs/ |
|
58 |
|
|
59 |
Bugs |
|
60 |
|
|
61 |
Some bugs are known to exist - see the BUGS page for details. |
|
62 |
|
|
63 |
Overview of JAI Functionality |
|
64 |
|
|
65 |
Core Functionality |
|
66 |
|
|
67 |
All areas of the JAI specification have been implemented for this release. |
|
68 |
The com.sun.media.jai.codec package continues to be an uncommitted part of |
|
69 |
JAI. For mode information on image reading and writing images on the Java 2 |
|
70 |
platform and in JAI please refer to the page Image I/O in Java Advanced |
|
71 |
Imaging. |
|
72 |
|
|
73 |
All operators outlined in the Java Advanced Imaging API specification are |
|
74 |
implemented. |
|
75 |
|
|
76 |
The major areas of JAI functionality are described below: |
|
77 |
|
|
78 |
1. Tiling |
|
79 |
|
|
80 |
Images are made up of tiles. Different images may have different tile |
|
81 |
sizes. Each tile can be processed and stored in memory separately. |
|
82 |
Tiles may be stored in a centrally-maintained cache for performance. |
|
83 |
The use of tiling also facilitates the use of multiple threads for |
|
84 |
computation. Previously allocated tiles may also be re-used to save |
|
85 |
memory. |
|
86 |
|
|
87 |
2. Deferred execution |
|
88 |
|
|
89 |
Image operations performed on an image do not take place immediately |
|
90 |
when they are defined. Calculation of pixels happens only when a |
|
91 |
portion of the resultant image is requested, and only tiles that are |
|
92 |
needed are processed. However, operations always appear semantically to |
|
93 |
be completed immediately. |
|
94 |
|
|
95 |
3. Threaded Computation |
|
96 |
|
|
97 |
Requests for tiles are given to several running threads, allowing |
|
98 |
potential speedups on multi-processor systems or when requesting data |
|
99 |
over the network. |
|
100 |
|
|
101 |
4. Object-Oriented Extensibility |
|
102 |
|
|
103 |
Users can add their own image operators or override existing operators |
|
104 |
by registering the new operators with the operation registry. Please |
|
105 |
see the "The Java Advanced Imaging API White Paper," the API |
|
106 |
documentation, the JAI tutorial, the sample code, and the jai-interest |
|
107 |
archives for more information (in the archives search for subjects |
|
108 |
beginning with "sample code"). |
|
109 |
|
|
110 |
Additionally, users may extend a number of non-image classes in order |
|
111 |
to add functionality to JAI: |
|
112 |
|
|
113 |
o Border Extension |
|
114 |
|
|
115 |
Operators may obtain an extended view of their sources using an |
|
116 |
extensible mechanism for generating pixel values outside of the |
|
117 |
source image bounds. New subclasses of BorderExtender may be used |
|
118 |
to obtain customized functionality. |
|
119 |
|
|
120 |
o Image Warping |
|
121 |
|
|
122 |
Subclasses of Warp may be written to perform customized image |
|
123 |
warping. |
|
124 |
|
|
125 |
o Pixel Interpolation |
|
126 |
|
|
127 |
Subclasses of Interpolation may be written to perform customized |
|
128 |
pixel interpolation. |
|
129 |
|
|
130 |
o Color Spaces |
|
131 |
|
|
132 |
Subclasses of ColorSpaceJAI may be written to implement |
|
133 |
mathematically defined color space transformations without the |
|
134 |
need for ICC profiles. |
|
135 |
|
|
136 |
5. Graphics2D-Style Drawing |
|
137 |
|
|
138 |
Graphics2D-style drawing may be performed on a TiledImage in a manner |
|
139 |
analogous to that available for java.awt.image.BufferedImage. |
|
140 |
|
|
141 |
The RenderableGraphics class provides a way to store a sequence of |
|
142 |
drawing commands and to "replay" them at an arbitrary output |
|
143 |
resolution. |
|
144 |
|
|
145 |
6. Regions of interest (ROIs) |
|
146 |
|
|
147 |
Non-rectangular portions of an image may be specified using a ROI or |
|
148 |
ROIShape object. These ROIs may be used as parameters to the Extrema, |
|
149 |
Mean, Histogram or Mosaic operations and the TiledImage.set() and |
|
150 |
TiledImage.setData() methods. Operations produce an appropriate ROI |
|
151 |
property on their output when one exists on their input. |
|
152 |
|
|
153 |
7. Image file handling |
|
154 |
|
|
155 |
This release of Java Advanced Imaging supports BMP, FlashPIX, GIF, |
|
156 |
JPEG, PNG, PNM, and TIFF images as defined in the TIFF 6.0 |
|
157 |
specification, and WBMP type 0 B/W uncompressed bitmaps. TIFF G3 (1D |
|
158 |
and 2D), G4, PackBits, LZW, JPEG, and DEFLATE (Zip) compression types |
|
159 |
are understood. |
|
160 |
|
|
161 |
The classes dealing with image file handling (the |
|
162 |
com.sun.media.jai.codec package and private implementation packages |
|
163 |
that provide support for it) are provided in a separate jai file, |
|
164 |
jai_codec.jar. This jar file may be used separately from the |
|
165 |
jai_core.jar file containing the various javax.media.jai packages and |
|
166 |
their supporting classes. |
|
167 |
|
|
168 |
As described in the Core Functionality section of this document, the |
|
169 |
image codec classes should be considered as temporary helper functions. |
|
170 |
They will be replaced by a new API for image I/O that has been defined |
|
171 |
under the Java Community Process. |
|
172 |
|
|
173 |
o BMP File Handling: |
|
174 |
|
|
175 |
The BMP reader can read Version 2.x, 3.x and some 4.x BMP |
|
176 |
images. BMP images with 1, 4, 8, 24 bits can be read with |
|
177 |
this reader. Support for 16 and 32 bit images has also been |
|
178 |
implemented, although such images are not very common. |
|
179 |
|
|
180 |
Reading of compressed BMPs is supported. BI_RGB, BI_RLE8, |
|
181 |
BI_RLE4 and BI_BITFIELDS compressions are handled. |
|
182 |
|
|
183 |
The BMP reader emits properties such as type of compression, |
|
184 |
bits per pixel etc. Use the getPropertyNames() method to get |
|
185 |
the names of all the properties emitted. |
|
186 |
|
|
187 |
BMP Limitations: |
|
188 |
|
|
189 |
+ Only the default RGB color space is supported. |
|
190 |
+ Alpha channels are not supported. |
|
191 |
|
|
192 |
BMP Writer: |
|
193 |
+ The BMP writer is capable of writing images in the |
|
194 |
Version 3 format. Images which make use of a |
|
195 |
IndexColorModel with 2, 16, or 256 palette entries will |
|
196 |
be written in palette form. |
|
197 |
+ RLE4 and RLE8 compression is supported when compatible |
|
198 |
with the image data. |
|
199 |
|
|
200 |
o FlashPIX file handling: |
|
201 |
|
|
202 |
A limited FlashPIX reader is provided that is capable of |
|
203 |
extracting a single resolution from a FlashPIX image file. |
|
204 |
Only simple FlashPix files are decoded properly. |
|
205 |
|
|
206 |
The image view object is ignored, and image property |
|
207 |
information is not exported. |
|
208 |
|
|
209 |
There is no FlashPIX writer. |
|
210 |
|
|
211 |
o GIF file handling: |
|
212 |
|
|
213 |
There is no GIF writer due to the patent on the LZW |
|
214 |
compression algorithm. |
|
215 |
|
|
216 |
o JPEG file handling: |
|
217 |
|
|
218 |
+ JPEG files are read and written using the classes found in |
|
219 |
the com.sun.image.codec.jpeg package of the JDK. A set of |
|
220 |
simple JAI wrapper classes around these classes is provided. |
|
221 |
+ The JPEG decoder cannot read abbreviated streams, either |
|
222 |
tables-only or image-only. |
|
223 |
|
|
224 |
o PNG file handling: |
|
225 |
|
|
226 |
All files in the PNGSuite test suite have been read and |
|
227 |
written successfully. See the documentation in |
|
228 |
com.sun.media.jai.codec.PNGDecodeParam and PNGEncodeParam for |
|
229 |
more information. |
|
230 |
|
|
231 |
o PNM file handling: |
|
232 |
|
|
233 |
PNM files may be read and written in both ASCII and raw |
|
234 |
formats. The encoder automatically selects between PBM |
|
235 |
(bitmap), PGM (grayscale) and PPM (RGB) files according to |
|
236 |
the number of bands and bit depth of the source image. |
|
237 |
|
|
238 |
Due to the limitations of the format, only images with 1 or 3 |
|
239 |
bands may be written. |
|
240 |
|
|
241 |
o TIFF file handling: |
|
242 |
|
|
243 |
TIFF support has the following limitations: |
|
244 |
|
|
245 |
+ The TIFF encoder does not support LZW compression due to the |
|
246 |
patent on the algorithm. |
|
247 |
+ Planar format (PlanarConfiguration field has value 2) is not |
|
248 |
supported for decoding or encoding. |
|
249 |
|
|
250 |
o WBMP file handling: |
|
251 |
|
|
252 |
The WBMP codec reads and writes images in the Wireless Bitmap |
|
253 |
format described in chapter 6 and Appendix A of the Wireless |
|
254 |
Application Protocol (WAP) Wireless Application Environment |
|
255 |
Specification, Version 1.3, 29 March 2000. The WBMP type |
|
256 |
supported is WBMP Type 0: B/W, Uncompressed Bitmap. There are |
|
257 |
no limitations on the image dimensions. |
|
258 |
|
|
259 |
8. Image Layouts |
|
260 |
|
|
261 |
Images with arbitrary pixel layouts may be processed in a uniform |
|
262 |
manner using the PixelAccessor and RasterAccessor classes. |
|
263 |
|
|
264 |
Source images with ComponentColorModels and IndexColorModels are |
|
265 |
supported. DirectColorModel images are not supported. |
|
266 |
|
|
267 |
PixelAccessor and RasterAccessor provide the most efficient support for |
|
268 |
the ComponentSampleModel/ComponentColorModel combination. |
|
269 |
|
|
270 |
9. Image Collections |
|
271 |
|
|
272 |
The output of a standard image operator on an instance of |
|
273 |
java.util.Collection is a collection of the same type. Nested |
|
274 |
collections are supported. Operators may also emit collections of their |
|
275 |
choice, or take collections as sources and emit a single image. |
|
276 |
|
|
277 |
10. Remote Imaging |
|
278 |
|
|
279 |
JAI allows operations to be performed remotely to be created in a |
|
280 |
manner similar to local operations. RemoteJAI.create() and |
|
281 |
RemoteJAI.createRenderable() can be used to create operations that are |
|
282 |
performed on remote hosts. Operation chains are created on the client |
|
283 |
and can contain a mix of local and remote operations by using |
|
284 |
JAI.create() and RemoteJAI.create(), respectively to create the |
|
285 |
operations. |
|
286 |
|
|
287 |
The "fileload" and "filestore" operations can allow files that reside |
|
288 |
only on remote filesystems to be loaded and stored remotely. This can |
|
289 |
be accomplished by setting the checkFileLocally argument to the |
|
290 |
operation to be false, in which case the presence of the file to be |
|
291 |
loaded or stored is not checked on the local file system when the |
|
292 |
operation is first created. |
|
293 |
|
|
294 |
See sections below for instructions on how to use the JAI 1.0.2 and 1.1 |
|
295 |
or later versions of remote imaging. |
|
296 |
|
|
297 |
11. Iterators |
|
298 |
|
|
299 |
Optimized Rect and Random iterators exist as well as a non-optimized |
|
300 |
version of the Rook iterator. |
|
301 |
|
|
302 |
12. Snapshotting of External Sources |
|
303 |
|
|
304 |
SnapshotImage provides an arbitrary number of synchronous views of a |
|
305 |
possibly changing WritableRenderedImage. |
|
306 |
|
|
307 |
13. Meta-data Handling |
|
308 |
|
|
309 |
Meta-data handling is provided via a name-value database of properties |
|
310 |
associated with each JAI image. Mechanisms are provided by which such |
|
311 |
properties may be generated and processed in the course of image |
|
312 |
manipulation. The ability to defer computation of such data is also |
|
313 |
provided in a manner conceptually equivalent to that available for |
|
314 |
image data. Please refer to the DeferredData and DeferredProperty |
|
315 |
classes for more information. |
|
316 |
|
|
317 |
14. Serialization Support |
|
318 |
|
|
319 |
SerializerFactory provides a framework is provided to assist in |
|
320 |
serializing instances of classes which do not implement |
|
321 |
java.io.Serializable. Such objects must be serialized by extracting a |
|
322 |
serializable version of their state from which the original object may |
|
323 |
be extracted after deserialization. |
|
324 |
|
|
325 |
Operators |
|
326 |
|
|
327 |
Java Advanced Imaging extends the imaging functionality provided in the Java |
|
328 |
2D API by providing a more flexible and scalable architecture targeted for |
|
329 |
complex, high performance imaging requirements. In this context a large |
|
330 |
number of imaging operators are provided. |
|
331 |
|
|
332 |
* Native Acceleration |
|
333 |
|
|
334 |
Pure Java implementations are provided for all image operators and |
|
335 |
imaging performance is addressed for some of these by providing C-based |
|
336 |
native code. Native C-code based acceleration for a certain subset of |
|
337 |
operators under specific conditions (listed in the table below) is |
|
338 |
available for the Sun/Solaris, Win32 and Linux (x86 only) platforms. On |
|
339 |
Sun UltraSPARC-based platforms, additional performance is gained with |
|
340 |
hardware acceleration via the VIS instructions for most natively |
|
341 |
supported operators. On Win32 platforms which support MMX instructions, |
|
342 |
hardware acceleration is gained for a subset of the natively supported |
|
343 |
operators. |
|
344 |
|
|
345 |
If a native implementation is present it is, by default, the preferred |
|
346 |
implementation. But if the nature of the sources and parameters of the |
|
347 |
operation are incompatible with the native operation then processing |
|
348 |
will revert to Java code. In general the following minimum requirements |
|
349 |
must be adhered to for the mediaLib native implementation of an |
|
350 |
operation to be executed: |
|
351 |
|
|
352 |
o All sources must be RenderedImages. |
|
353 |
o All sources and destination must have |
|
354 |
+ a SampleModel which is a ComponentSampleModel and |
|
355 |
+ a ColorModel which is a ComponentColorModel or no ColorModel |
|
356 |
(i.e., it is null). |
|
357 |
o All sources and the destination must have at most 4 bands of pixel |
|
358 |
data. |
|
359 |
o If Interpolation type is one of the arguments to the operator, |
|
360 |
then native acceleration is available only for Nearest, Bilinear, |
|
361 |
Bicubic and Bicubic2 cases. Additionally for byte images |
|
362 |
InterpolationTable is also supported for native acceleration. |
|
363 |
|
|
364 |
Further restrictions may be imposed by individual operations but the |
|
365 |
above are the most common requirements. |
|
366 |
|
|
367 |
* Imaging Operators |
|
368 |
|
|
369 |
The following image operators are implemented in this release. Only a |
|
370 |
brief description of each operator is provided here. For detailed |
|
371 |
information on these operators, refer to the package |
|
372 |
javax.media.jai.operator in the full documentation available at |
|
373 |
http://java.sun.com/products/java-media/jai/docs/index.html. |
|
374 |
|
|
375 |
All operations are performed on a per-band basis, unless specified |
|
376 |
otherwise. C acceleration applies to all platforms whereas VIS is |
|
377 |
specific to Sun UltraSPARC and MMX to Windows. |
|
378 |
|
|
379 |
1. Point and Arithmetic Operators |
|
380 |
|
|
381 |
Native Acceleration |
|
382 |
Operator Name Description |
|
383 |
C VIS MMX Notes |
|
384 |
Computes the |
|
385 |
absolute absolute value X X X |
|
386 |
of the pixels of |
|
387 |
an image. |
|
388 |
Adds the pixel |
|
389 |
add values of two X X X |
|
390 |
source images. |
|
391 |
Adds a |
|
392 |
addcollection collection of |
|
393 |
images to one |
|
394 |
another. |
|
395 |
Adds a set of |
|
396 |
constant values |
|
397 |
addconst to the pixel X X X |
|
398 |
values of a |
|
399 |
source image. |
|
400 |
Adds a set of |
|
401 |
constant values |
|
402 |
addconsttocollection to the pixel X X X |
|
403 |
values of a |
|
404 |
Collection of |
|
405 |
source images. |
|
406 |
And's the pixel |
|
407 |
and values of two X X X |
|
408 |
source images. |
|
409 |
And's the pixel |
|
410 |
values of a |
|
411 |
andconst source image X X X |
|
412 |
with a set of |
|
413 |
constants. |
|
414 |
Computes a |
|
415 |
linear |
|
416 |
bandcombine combination of X X X 3x4 matrix only. |
|
417 |
the bands of an |
|
418 |
image. |
|
419 |
Creates an image |
|
420 |
consisting of |
|
421 |
all bands of all |
|
422 |
bandmerge sources |
|
423 |
concatenated in |
|
424 |
the order |
|
425 |
encountered. |
|
426 |
Selects a subset |
|
427 |
of the bands of Only if the band |
|
428 |
bandselect an image, X X X selection is |
|
429 |
possibly monotonically |
|
430 |
reordering them. increasing. |
|
431 |
Thresholds a |
|
432 |
single-band |
|
433 |
binarize image to two X X |
|
434 |
levels to |
|
435 |
generate a |
|
436 |
bilevel output. |
|
437 |
Set all pixel |
|
438 |
values below the |
|
439 |
low value to |
|
440 |
that low value, |
|
441 |
clamp set all the X X X |
|
442 |
pixel values |
|
443 |
above the high |
|
444 |
value to that |
|
445 |
high value. |
|
446 |
Converts an |
|
447 |
colorconvert image to a given |
|
448 |
ColorSpace. |
|
449 |
Generates an |
|
450 |
optimal LUT by |
|
451 |
colorquantizer executing a |
|
452 |
color |
|
453 |
quantization |
|
454 |
algorithm |
|
455 |
Combines two |
|
456 |
images based on |
|
457 |
composite their alpha X X X |
|
458 |
values at each |
|
459 |
pixel. |
|
460 |
Creates an image |
|
461 |
constant with constant |
|
462 |
pixel values. |
|
463 |
Divides the |
|
464 |
pixel values of |
|
465 |
the first source |
|
466 |
divide image by the X |
|
467 |
pixel values of |
|
468 |
the second |
|
469 |
source image. |
|
470 |
Divides the |
|
471 |
pixel values of |
|
472 |
dividebyconst a source image X |
|
473 |
by a set of |
|
474 |
constants. |
|
475 |
Divides a set of |
|
476 |
divideintoconst constants by the X |
|
477 |
pixel values of |
|
478 |
a source image. |
|
479 |
Computes the |
|
480 |
exp exponential of X |
|
481 |
the pixel values |
|
482 |
of an image. |
|
483 |
Performs |
|
484 |
reformatting on |
|
485 |
an image, |
|
486 |
including data |
|
487 |
format type casting, |
|
488 |
replacing the |
|
489 |
SampleModel and |
|
490 |
ColorModel, and |
|
491 |
restructuring |
|
492 |
the tile grid. |
|
493 |
Inverts the |
|
494 |
invert pixel values of X X X |
|
495 |
an image. |
|
496 |
Computes the |
|
497 |
natural |
|
498 |
log logarithm of the X |
|
499 |
pixel values of |
|
500 |
an image. |
|
501 |
|
|
502 |
Performs general Only if table |
|
503 |
lookup table lookup on X X X has less than or |
|
504 |
an image. equal to 4 |
|
505 |
bands. |
|
506 |
Performs a |
|
507 |
piecewise linear |
|
508 |
remapping of |
|
509 |
matchcdf pixel values to |
|
510 |
match a given |
|
511 |
cumulative |
|
512 |
distribution |
|
513 |
function. |
|
514 |
Chooses the |
|
515 |
max maximum pixel X X X |
|
516 |
values between |
|
517 |
two images. |
|
518 |
Chooses the |
|
519 |
min minimum pixel X X X |
|
520 |
values between |
|
521 |
two images. |
|
522 |
Multiplies the |
|
523 |
multiply pixel values of X X |
|
524 |
two source |
|
525 |
images. |
|
526 |
Multiplies the |
|
527 |
pixel values of |
|
528 |
multiplyconst a source image X X |
|
529 |
by a set of |
|
530 |
constants. |
|
531 |
Inverts the |
|
532 |
not pixel values of X X X |
|
533 |
a source image. |
|
534 |
Or's the pixel |
|
535 |
or values of two X X X |
|
536 |
source images. |
|
537 |
Or's the pixel |
|
538 |
values of a |
|
539 |
orconst source image X X X |
|
540 |
with a set of |
|
541 |
constants. |
|
542 |
Overlays one |
|
543 |
overlay image on top of |
|
544 |
another image. |
|
545 |
Performs |
|
546 |
piecewise linear |
|
547 |
piecewise remapping of the |
|
548 |
pixel values of |
|
549 |
an image. |
|
550 |
Performs a |
|
551 |
linear remapping |
|
552 |
rescale of the pixel X X |
|
553 |
values of an |
|
554 |
image. |
|
555 |
Subtracts the |
|
556 |
pixel values of |
|
557 |
subtract one image from X X X |
|
558 |
those of |
|
559 |
another. |
|
560 |
Subtracts a set |
|
561 |
of constant |
|
562 |
subtractconst values from the X X X |
|
563 |
pixel values of |
|
564 |
an image. |
|
565 |
Subtracts a set |
|
566 |
of constant |
|
567 |
subtractfromconst values from the X X X |
|
568 |
pixel values of |
|
569 |
an image. |
|
570 |
Maps the pixel |
|
571 |
values that fall |
|
572 |
threshold between a low X X X |
|
573 |
and high value |
|
574 |
to a set of |
|
575 |
constants. |
|
576 |
Xor's the pixel |
|
577 |
xor values of two X X X |
|
578 |
source images. |
|
579 |
Xor's a source |
|
580 |
xorconst image with a set X X X |
|
581 |
of constants. |
|
582 |
|
|
583 |
2. Area and Geometric Operators |
|
584 |
|
|
585 |
Native Acceleration |
|
586 |
Operator Name Description |
|
587 |
C VIS MMX Notes |
|
588 |
|
|
589 |
Performs first InterpolationTable |
|
590 |
affine order geometric X X X is not MMX |
|
591 |
image warping. accelerated for |
|
592 |
even byte images. |
|
593 |
|
|
594 |
border Adds a border |
|
595 |
around an image. |
|
596 |
Convolves an |
|
597 |
boxfilter image using a |
|
598 |
two-dimensional |
|
599 |
box filter. |
|
600 |
Performs an MxN |
|
601 |
convolve image X X X General and |
|
602 |
convolution. separable cases. |
|
603 |
Extracts a |
|
604 |
crop subarea of an |
|
605 |
image. |
|
606 |
Performs |
|
607 |
Only single band, |
|
608 |
dilate morphological X X X 3x3 kernels |
|
609 |
dilation on an |
|
610 |
image. centered at 1,1 |
|
611 |
Performs |
|
612 |
Only single band, |
|
613 |
erode morphological X X X 3x3 kernels |
|
614 |
erosion on an |
|
615 |
image. centered at 1,1 |
|
616 |
Performs a |
|
617 |
combined integral |
|
618 |
filteredsubsample subsample and X X X |
|
619 |
symmetric |
|
620 |
product-separable |
|
621 |
filter. |
|
622 |
Performs edge |
|
623 |
gradientmagnitude detection using X X X |
|
624 |
orthogonal |
|
625 |
gradient masks. |
|
626 |
Computes the Only single band; |
|
627 |
maxfilter maximum value of X X X only for a SQUARE |
|
628 |
a pixel mask of size 3, 5, |
|
629 |
neighborhood. or 7 |
|
630 |
Computes the |
|
631 |
medianfilter median value of aX X X |
|
632 |
pixel |
|
633 |
neighborhood. |
|
634 |
Computes the Only single band; |
|
635 |
minfilter minimum value of X X X only for a SQUARE |
|
636 |
a pixel mask of size 3, 5, |
|
637 |
neighborhood. or 7 |
|
638 |
Creates a mosaic |
|
639 |
mosaic of two or more X X X |
|
640 |
rendered images. |
|
641 |
|
|
642 |
Rotates an image InterpolationTable |
|
643 |
rotate about an X X X is not MMX |
|
644 |
arbitrary point. accelerated for |
|
645 |
even byte images. |
|
646 |
|
|
647 |
Scales and InterpolationTable |
|
648 |
scale translates an X X X is not MMX |
|
649 |
image. accelerated for |
|
650 |
even byte images. |
|
651 |
InterpolationTable |
|
652 |
shear Shears an image. X X X is not MMX |
|
653 |
accelerated for |
|
654 |
even byte images. |
|
655 |
Subsamples an |
|
656 |
subsampleaverage image by X X |
|
657 |
averaging over a |
|
658 |
moving window. |
|
659 |
Subsamples a |
|
660 |
subsamplebinarytogray bilevel image to X X |
|
661 |
a grayscale |
|
662 |
image. |
|
663 |
Translates an |
|
664 |
image by an InterpolationTable |
|
665 |
translate integral or X X X is not MMX |
|
666 |
fractional accelerated for |
|
667 |
amount. even byte images. |
|
668 |
Reflects an image |
|
669 |
in a specified |
|
670 |
transpose direction or X X X |
|
671 |
rotates an image |
|
672 |
in multiples of |
|
673 |
90 degrees. |
|
674 |
Sharpens an image |
|
675 |
unsharpmask by suppressing X X X General and |
|
676 |
the low separable kernels. |
|
677 |
frequencies. |
|
678 |
Performs |
|
679 |
warp geometric warpingX X X polynomial and |
|
680 |
on an image. grid only. |
|
681 |
|
|
682 |
3. Frequency-domain, Transform, and Complex Operators |
|
683 |
|
|
684 |
Native |
|
685 |
Operator Name Description Acceleration |
|
686 |
C VIS MMX Notes |
|
687 |
|
|
688 |
conjugate Computes the complex |
|
689 |
conjugate of an image. |
|
690 |
|
|
691 |
dct Computes the Discrete Cosine X |
|
692 |
Transform of an image. |
|
693 |
Computes the Discrete |
|
694 |
dft Fourier Transform of an X |
|
695 |
image, possibly resulting in |
|
696 |
a complex image. |
|
697 |
|
|
698 |
dividecomplex Computes the quotient of two |
|
699 |
complex images. |
|
700 |
Computes the inverse |
|
701 |
idct Discrete Cosine Transform of X |
|
702 |
an image. |
|
703 |
Computes the inverse |
|
704 |
idft Discrete Fourier Transform X |
|
705 |
of an image. |
|
706 |
|
|
707 |
magnitude Computes the magnitude of a |
|
708 |
complex image. |
|
709 |
Computes the squared |
|
710 |
magnitudesquared magnitude of a complex |
|
711 |
image. |
|
712 |
|
|
713 |
multiplycomplex Computes the product of two |
|
714 |
complex images. |
|
715 |
|
|
716 |
periodicshift Shifts an image |
|
717 |
periodically. |
|
718 |
|
|
719 |
phase Computes the phase angle of |
|
720 |
a complex image. |
|
721 |
Creates a complex image from |
|
722 |
polartocomplex two images representing |
|
723 |
magnitude and phase. |
|
724 |
|
|
725 |
4. Statistical Operators |
|
726 |
|
|
727 |
Native |
|
728 |
Operator Acceleration |
|
729 |
Name Description |
|
730 |
C VIS MMX Notes |
|
731 |
Computes the |
|
732 |
maximum and Only if the ROI |
|
733 |
extrema minimum pixel X X X is null or |
|
734 |
values of an encloses the |
|
735 |
image. entire image. |
|
736 |
Computes the |
|
737 |
histogram histogram of an X X X |
|
738 |
image. |
|
739 |
Only if the ROI |
|
740 |
Computes the mean is null or |
|
741 |
mean pixel value of a X X X encloses the |
|
742 |
region of an entire image and |
|
743 |
image. the sampling |
|
744 |
period is 1. |
|
745 |
|
|
746 |
5. Sourceless Operators |
|
747 |
|
|
748 |
Operator Name Description |
|
749 |
imagefunction Creates an image by evaluating a function. |
|
750 |
pattern Creates an image consisting of a repeated pattern. |
Also available in: Unified diff