* Initial implementation of imagemagick bindings by Felipe Monteiro de Carvalho

git-svn-id: trunk@3666 -
This commit is contained in:
michael 2006-05-25 08:12:51 +00:00
parent 265c5766ab
commit 8a17b1c1e3
32 changed files with 6076 additions and 36 deletions

29
.gitattributes vendored
View File

@ -1274,6 +1274,35 @@ packages/base/ibase/mkdb.bat -text
packages/base/ibase/mkdb.sqd -text
packages/base/ibase/testib40.pp svneol=native#text/plain
packages/base/ibase/testib60.pp svneol=native#text/plain
packages/base/imagemagick/Makefile svneol=native#text/plain
packages/base/imagemagick/Makefile.fpc svneol=native#text/plain
packages/base/imagemagick/buildim.pp svneol=native#text/plain
packages/base/imagemagick/demo1/image.png -text svneol=unset#image/png
packages/base/imagemagick/demo1/wanddemo.dpr -text
packages/base/imagemagick/demo1/wanddemo.lpi svneol=native#text/plain
packages/base/imagemagick/demo1/wanddemo.lpr -text
packages/base/imagemagick/demo2/screenshot.lpi svneol=native#text/plain
packages/base/imagemagick/demo2/screenshot.lpi.bak -text
packages/base/imagemagick/demo2/screenshot.lpr -text
packages/base/imagemagick/magick/cache_view.inc svneol=native#text/plain
packages/base/imagemagick/magick/compare.inc svneol=native#text/plain
packages/base/imagemagick/magick/constitute.inc svneol=native#text/plain
packages/base/imagemagick/magick/draw.inc svneol=native#text/plain
packages/base/imagemagick/magick/effect.inc svneol=native#text/plain
packages/base/imagemagick/magick/fx.inc svneol=native#text/plain
packages/base/imagemagick/magick/imagemagick.pas svneol=native#text/plain
packages/base/imagemagick/magick/magick_type.inc svneol=native#text/plain
packages/base/imagemagick/magick/pixel.inc svneol=native#text/plain
packages/base/imagemagick/magick/quantize.inc svneol=native#text/plain
packages/base/imagemagick/magick/semaphore.inc svneol=native#text/plain
packages/base/imagemagick/magick/statistic.inc svneol=native#text/plain
packages/base/imagemagick/magick/type.inc svneol=native#text/plain
packages/base/imagemagick/wand/drawing_wand.inc svneol=native#text/plain
packages/base/imagemagick/wand/magick_attribute.inc svneol=native#text/plain
packages/base/imagemagick/wand/magick_image.inc svneol=native#text/plain
packages/base/imagemagick/wand/magick_wand.pas svneol=native#text/plain
packages/base/imagemagick/wand/pixel_iterator.inc svneol=native#text/plain
packages/base/imagemagick/wand/pixel_wand.inc svneol=native#text/plain
packages/base/libasync/Makefile svneol=native#text/plain
packages/base/libasync/Makefile.fpc svneol=native#text/plain
packages/base/libasync/fpmake.inc svneol=native#text/plain

View File

@ -1,5 +1,5 @@
#
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/04/23]
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/05/20]
#
default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-palmos arm-wince powerpc64-linux
@ -231,28 +231,28 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
endif
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph libc
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph imagemagick libc
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint graph
endif
ifeq ($(FULL_TARGET),i386-win32)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint mysql ibase odbc sqlite postgres oracle graph
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint mysql ibase odbc sqlite postgres oracle graph imagemagick
endif
ifeq ($(FULL_TARGET),i386-os2)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync graph mysql ibase postgres oracle odbc sqlite pthreads
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync graph mysql ibase postgres oracle odbc sqlite pthreads imagemagick
endif
ifeq ($(FULL_TARGET),i386-beos)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc imagemagick
endif
ifeq ($(FULL_TARGET),i386-solaris)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb libasync mysql ibase postgres oracle odbc sqlite pthreads
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb libasync mysql ibase postgres oracle odbc sqlite pthreads imagemagick
endif
ifeq ($(FULL_TARGET),i386-qnx)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb
@ -261,13 +261,13 @@ ifeq ($(FULL_TARGET),i386-netware)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc imagemagick
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb
endif
ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb libasync mysql ibase postgres oracle odbc sqlite pthreads
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb libasync mysql ibase postgres oracle odbc sqlite pthreads imagemagick
endif
ifeq ($(FULL_TARGET),i386-emx)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb
@ -282,13 +282,13 @@ ifeq ($(FULL_TARGET),i386-wince)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb ibase sqlite postgres
endif
ifeq ($(FULL_TARGET),m68k-linux)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph imagemagick
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync graph mysql ibase postgres oracle odbc sqlite pthreads
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync graph mysql ibase postgres oracle odbc sqlite pthreads imagemagick
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc imagemagick
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb
@ -297,46 +297,46 @@ ifeq ($(FULL_TARGET),m68k-atari)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc imagemagick
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph imagemagick
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc imagemagick
endif
ifeq ($(FULL_TARGET),powerpc-macos)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb libasync mysql ibase postgres oracle odbc sqlite pthreads
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb libasync mysql ibase postgres oracle odbc sqlite pthreads imagemagick
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb
endif
ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph imagemagick
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc imagemagick
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb libasync mysql ibase postgres oracle odbc sqlite pthreads
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb libasync mysql ibase postgres oracle odbc sqlite pthreads imagemagick
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph libc
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph imagemagick libc
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync graph mysql ibase postgres oracle odbc sqlite pthreads
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync graph mysql ibase postgres oracle odbc sqlite pthreads imagemagick
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb mysql ibase odbc sqlite postgres oracle
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb
endif
ifeq ($(FULL_TARGET),arm-linux)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph imagemagick
endif
ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb
@ -345,7 +345,7 @@ ifeq ($(FULL_TARGET),arm-wince)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb ibase sqlite postgres
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph
override TARGET_DIRS+=hash paszlib pasjpeg regexpr netdb gdbint libasync mysql ibase postgres oracle odbc pthreads sqlite graph imagemagick
endif
override INSTALL_FPCPACKAGE=y
override INSTALL_FPCSUBDIR=packages/base
@ -1422,6 +1422,7 @@ TARGET_DIRS_ODBC=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_GRAPH=1
TARGET_DIRS_IMAGEMAGICK=1
TARGET_DIRS_LIBC=1
endif
ifeq ($(FULL_TARGET),i386-go32v2)
@ -1447,6 +1448,7 @@ TARGET_DIRS_SQLITE=1
TARGET_DIRS_POSTGRES=1
TARGET_DIRS_ORACLE=1
TARGET_DIRS_GRAPH=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),i386-os2)
TARGET_DIRS_HASH=1
@ -1471,6 +1473,7 @@ TARGET_DIRS_ORACLE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),i386-beos)
TARGET_DIRS_HASH=1
@ -1492,6 +1495,7 @@ TARGET_DIRS_IBASE=1
TARGET_DIRS_POSTGRES=1
TARGET_DIRS_ORACLE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),i386-solaris)
TARGET_DIRS_HASH=1
@ -1507,6 +1511,7 @@ TARGET_DIRS_ORACLE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),i386-qnx)
TARGET_DIRS_HASH=1
@ -1535,6 +1540,7 @@ TARGET_DIRS_IBASE=1
TARGET_DIRS_POSTGRES=1
TARGET_DIRS_ORACLE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),i386-wdosx)
TARGET_DIRS_HASH=1
@ -1557,6 +1563,7 @@ TARGET_DIRS_ORACLE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),i386-emx)
TARGET_DIRS_HASH=1
@ -1605,6 +1612,7 @@ TARGET_DIRS_ODBC=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_GRAPH=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
TARGET_DIRS_HASH=1
@ -1622,6 +1630,7 @@ TARGET_DIRS_ORACLE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
TARGET_DIRS_HASH=1
@ -1636,6 +1645,7 @@ TARGET_DIRS_IBASE=1
TARGET_DIRS_POSTGRES=1
TARGET_DIRS_ORACLE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),m68k-amiga)
TARGET_DIRS_HASH=1
@ -1664,6 +1674,7 @@ TARGET_DIRS_IBASE=1
TARGET_DIRS_POSTGRES=1
TARGET_DIRS_ORACLE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),m68k-palmos)
TARGET_DIRS_HASH=1
@ -1688,6 +1699,7 @@ TARGET_DIRS_ODBC=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_GRAPH=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
TARGET_DIRS_HASH=1
@ -1702,6 +1714,7 @@ TARGET_DIRS_IBASE=1
TARGET_DIRS_POSTGRES=1
TARGET_DIRS_ORACLE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),powerpc-macos)
TARGET_DIRS_HASH=1
@ -1724,6 +1737,7 @@ TARGET_DIRS_ORACLE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
TARGET_DIRS_HASH=1
@ -1748,6 +1762,7 @@ TARGET_DIRS_ODBC=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_GRAPH=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
TARGET_DIRS_HASH=1
@ -1762,6 +1777,7 @@ TARGET_DIRS_IBASE=1
TARGET_DIRS_POSTGRES=1
TARGET_DIRS_ORACLE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),sparc-solaris)
TARGET_DIRS_HASH=1
@ -1777,6 +1793,7 @@ TARGET_DIRS_ORACLE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),x86_64-linux)
TARGET_DIRS_HASH=1
@ -1794,6 +1811,7 @@ TARGET_DIRS_ODBC=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_GRAPH=1
TARGET_DIRS_IMAGEMAGICK=1
TARGET_DIRS_LIBC=1
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
@ -1812,6 +1830,7 @@ TARGET_DIRS_ORACLE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),x86_64-win64)
TARGET_DIRS_HASH=1
@ -1819,12 +1838,6 @@ TARGET_DIRS_PASZLIB=1
TARGET_DIRS_PASJPEG=1
TARGET_DIRS_REGEXPR=1
TARGET_DIRS_NETDB=1
TARGET_DIRS_MYSQL=1
TARGET_DIRS_IBASE=1
TARGET_DIRS_ODBC=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_POSTGRES=1
TARGET_DIRS_ORACLE=1
endif
ifeq ($(FULL_TARGET),arm-linux)
TARGET_DIRS_HASH=1
@ -1842,6 +1855,7 @@ TARGET_DIRS_ODBC=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_GRAPH=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifeq ($(FULL_TARGET),arm-palmos)
TARGET_DIRS_HASH=1
@ -1876,6 +1890,7 @@ TARGET_DIRS_ODBC=1
TARGET_DIRS_PTHREADS=1
TARGET_DIRS_SQLITE=1
TARGET_DIRS_GRAPH=1
TARGET_DIRS_IMAGEMAGICK=1
endif
ifdef TARGET_DIRS_HASH
hash_all:
@ -2552,6 +2567,51 @@ graph:
$(MAKE) -C graph all
.PHONY: graph_all graph_debug graph_smart graph_release graph_units graph_examples graph_shared graph_install graph_sourceinstall graph_exampleinstall graph_distinstall graph_zipinstall graph_zipsourceinstall graph_zipexampleinstall graph_zipdistinstall graph_clean graph_distclean graph_cleanall graph_info graph_makefiles graph
endif
ifdef TARGET_DIRS_IMAGEMAGICK
imagemagick_all:
$(MAKE) -C imagemagick all
imagemagick_debug:
$(MAKE) -C imagemagick debug
imagemagick_smart:
$(MAKE) -C imagemagick smart
imagemagick_release:
$(MAKE) -C imagemagick release
imagemagick_units:
$(MAKE) -C imagemagick units
imagemagick_examples:
$(MAKE) -C imagemagick examples
imagemagick_shared:
$(MAKE) -C imagemagick shared
imagemagick_install:
$(MAKE) -C imagemagick install
imagemagick_sourceinstall:
$(MAKE) -C imagemagick sourceinstall
imagemagick_exampleinstall:
$(MAKE) -C imagemagick exampleinstall
imagemagick_distinstall:
$(MAKE) -C imagemagick distinstall
imagemagick_zipinstall:
$(MAKE) -C imagemagick zipinstall
imagemagick_zipsourceinstall:
$(MAKE) -C imagemagick zipsourceinstall
imagemagick_zipexampleinstall:
$(MAKE) -C imagemagick zipexampleinstall
imagemagick_zipdistinstall:
$(MAKE) -C imagemagick zipdistinstall
imagemagick_clean:
$(MAKE) -C imagemagick clean
imagemagick_distclean:
$(MAKE) -C imagemagick distclean
imagemagick_cleanall:
$(MAKE) -C imagemagick cleanall
imagemagick_info:
$(MAKE) -C imagemagick info
imagemagick_makefiles:
$(MAKE) -C imagemagick makefiles
imagemagick:
$(MAKE) -C imagemagick all
.PHONY: imagemagick_all imagemagick_debug imagemagick_smart imagemagick_release imagemagick_units imagemagick_examples imagemagick_shared imagemagick_install imagemagick_sourceinstall imagemagick_exampleinstall imagemagick_distinstall imagemagick_zipinstall imagemagick_zipsourceinstall imagemagick_zipexampleinstall imagemagick_zipdistinstall imagemagick_clean imagemagick_distclean imagemagick_cleanall imagemagick_info imagemagick_makefiles imagemagick
endif
ifdef TARGET_DIRS_LIBC
libc_all:
$(MAKE) -C libc all

View File

@ -7,21 +7,21 @@ dirs=hash paszlib pasjpeg regexpr netdb
dirs_i386_linux=libc
dirs_x86_64_linux=libc
dirs_linux=gdbint libasync mysql ibase postgres oracle odbc \
pthreads sqlite graph
dirs_win32=gdbint mysql ibase odbc sqlite postgres oracle graph
pthreads sqlite graph imagemagick
dirs_win32=gdbint mysql ibase odbc sqlite postgres oracle graph imagemagick
dirs_win64=mysql ibase odbc sqlite postgres oracle
dirs_wince=ibase sqlite postgres
dirs_go32v2=gdbint graph
dirs_netbsd=gdbint libasync \
mysql ibase postgres oracle odbc
mysql ibase postgres oracle odbc imagemagick
dirs_openbsd=gdbint libasync \
mysql ibase postgres oracle odbc
mysql ibase postgres oracle odbc imagemagick
dirs_freebsd=gdbint libasync graph \
mysql ibase postgres oracle odbc sqlite pthreads
mysql ibase postgres oracle odbc sqlite pthreads imagemagick
dirs_darwin=libasync \
mysql ibase postgres oracle odbc sqlite pthreads
mysql ibase postgres oracle odbc sqlite pthreads imagemagick
dirs_solaris=libasync \
mysql ibase postgres oracle odbc sqlite pthreads
mysql ibase postgres oracle odbc sqlite pthreads imagemagick
[install]
fpcpackage=y

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
#
# Makefile.fpc for Free Pascal GTK 2.x.y Bindings
#
[package]
name=gtk2
version=2.0.0
[require]
libc=y
[target]
units=buildim
exampledirs=
implicitunits=magick_wand imagemagick
[compiler]
unitdir=magick wand
[install]
buildunit=buildgtk2
fpcpackage=y
[shared]
build=n
[default]
fpcdir=../../..

View File

@ -0,0 +1,29 @@
{
Dummy unit to compile imagemagick in one command
This unit is part of imagemagick.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
}
unit buildim;
Interface
uses imagemagick, magick_wand;
Implementation
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,111 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="/"/>
<Version Value="5"/>
<General>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=""/>
<ActiveEditorIndexAtStart Value="4"/>
</General>
<LazDoc Paths=""/>
<Units Count="6">
<Unit0>
<CursorPos X="1" Y="48"/>
<EditorIndex Value="0"/>
<Filename Value="wanddemo.lpr"/>
<IsPartOfProject Value="True"/>
<Loaded Value="True"/>
<TopLine Value="15"/>
<UnitName Value="wanddemo"/>
<UsageCount Value="23"/>
</Unit0>
<Unit1>
<CursorPos X="2" Y="48"/>
<Filename Value="wanddemo.dpr"/>
<TopLine Value="15"/>
<UnitName Value="wanddemo"/>
<UsageCount Value="20"/>
</Unit1>
<Unit2>
<CursorPos X="3" Y="26"/>
<EditorIndex Value="2"/>
<Filename Value="magick_type.inc"/>
<Loaded Value="True"/>
<TopLine Value="9"/>
<UsageCount Value="11"/>
</Unit2>
<Unit3>
<CursorPos X="1" Y="62"/>
<EditorIndex Value="1"/>
<Filename Value="magick_wand.pas"/>
<Loaded Value="True"/>
<TopLine Value="33"/>
<UnitName Value="magick_wand"/>
<UsageCount Value="11"/>
</Unit3>
<Unit4>
<CursorPos X="25" Y="24"/>
<EditorIndex Value="4"/>
<Filename Value="magick_image.inc"/>
<Loaded Value="True"/>
<TopLine Value="18"/>
<UsageCount Value="11"/>
</Unit4>
<Unit5>
<CursorPos X="70" Y="80"/>
<EditorIndex Value="3"/>
<Filename Value="drawing_wand.inc"/>
<Loaded Value="True"/>
<TopLine Value="113"/>
<UsageCount Value="11"/>
</Unit5>
</Units>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<JumpHistory Count="3" HistoryIndex="2">
<Position1>
<Filename Value="wanddemo.lpr"/>
<Caret Line="28" Column="20" TopLine="14"/>
</Position1>
<Position2>
<Filename Value="wanddemo.lpr"/>
<Caret Line="26" Column="16" TopLine="14"/>
</Position2>
<Position3>
<Filename Value="wanddemo.lpr"/>
<Caret Line="28" Column="17" TopLine="15"/>
</Position3>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,260 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="/"/>
<Version Value="5"/>
<General>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=""/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<LazDoc Paths=""/>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<Units Count="30">
<Unit0>
<Filename Value="wanddemo.lpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="1" Y="11"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="47"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="magick_wand.pas"/>
<UnitName Value="magick_wand"/>
<CursorPos X="13" Y="49"/>
<TopLine Value="36"/>
<UsageCount Value="23"/>
</Unit1>
<Unit2>
<Filename Value="magick_type.inc"/>
<CursorPos X="41" Y="3"/>
<TopLine Value="1"/>
<UsageCount Value="11"/>
</Unit2>
<Unit3>
<Filename Value="magick_image.inc"/>
<CursorPos X="24" Y="301"/>
<TopLine Value="301"/>
<UsageCount Value="20"/>
</Unit3>
<Unit4>
<Filename Value="drawing_wand.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="16"/>
</Unit4>
<Unit5>
<Filename Value="quantize.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit5>
<Unit6>
<Filename Value="home/felipe/Programas/imagemagick/magick/quantize.inc"/>
<CursorPos X="30" Y="25"/>
<TopLine Value="9"/>
<UsageCount Value="8"/>
</Unit6>
<Unit7>
<Filename Value="home/felipe/Programas/imagemagick/magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="1" Y="26"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit7>
<Unit8>
<Filename Value="C:/Programas/ImageMagick/magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="41" Y="26"/>
<TopLine Value="22"/>
<UsageCount Value="9"/>
</Unit8>
<Unit9>
<Filename Value="C:/Programas/ImageMagick/magick/magick_type.inc"/>
<CursorPos X="1" Y="303"/>
<TopLine Value="357"/>
<UsageCount Value="8"/>
</Unit9>
<Unit10>
<Filename Value="home/felipe/Programas/PascalMagick/magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="5" Y="31"/>
<TopLine Value="27"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="home/felipe/Programas/PascalMagick/magick/statistic.inc"/>
<CursorPos X="1" Y="46"/>
<TopLine Value="18"/>
<UsageCount Value="9"/>
</Unit11>
<Unit12>
<Filename Value="home/felipe/Programas/PascalMagick/magick/magick_type.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="9"/>
</Unit12>
<Unit13>
<Filename Value="pixel_wand.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="19"/>
</Unit13>
<Unit14>
<Filename Value="home/felipe/Programas/PascalMagick/magick/constitute.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit14>
<Unit15>
<Filename Value="home/felipe/Programas/PascalMagick/magick/effect.inc"/>
<CursorPos X="1" Y="19"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit15>
<Unit16>
<Filename Value="pixel_iterator.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="11"/>
</Unit16>
<Unit17>
<Filename Value="home/felipe/Programas/PascalMagick/magick/cache_view.inc"/>
<CursorPos X="25" Y="28"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit17>
<Unit18>
<Filename Value="magick_attribute.inc"/>
<CursorPos X="37" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="13"/>
</Unit18>
<Unit19>
<Filename Value="C:/Programas/PascalMagick/magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="11" Y="13"/>
<TopLine Value="1"/>
<UsageCount Value="12"/>
</Unit19>
<Unit20>
<Filename Value="C:/Programas/PascalMagick/magick/magick_type.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="12"/>
</Unit20>
<Unit21>
<Filename Value="C:/Programas/PascalMagick/magick/draw.inc"/>
<CursorPos X="22" Y="241"/>
<TopLine Value="236"/>
<UsageCount Value="9"/>
</Unit21>
<Unit22>
<Filename Value="C:/Programas/PascalMagick/magick/type.inc"/>
<CursorPos X="24" Y="63"/>
<TopLine Value="62"/>
<UsageCount Value="10"/>
</Unit22>
<Unit23>
<Filename Value="C:/Programas/PascalMagick/magick/pixel.inc"/>
<CursorPos X="24" Y="4"/>
<TopLine Value="1"/>
<UsageCount Value="9"/>
</Unit23>
<Unit24>
<Filename Value="../magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="14" Y="44"/>
<TopLine Value="32"/>
<UsageCount Value="14"/>
</Unit24>
<Unit25>
<Filename Value="../magick/magick_type.inc"/>
<CursorPos X="7" Y="288"/>
<TopLine Value="82"/>
<UsageCount Value="12"/>
</Unit25>
<Unit26>
<Filename Value="../wand/pixel_iterator.inc"/>
<CursorPos X="26" Y="9"/>
<TopLine Value="9"/>
<UsageCount Value="10"/>
</Unit26>
<Unit27>
<Filename Value="../wand/magick_wand.pas"/>
<UnitName Value="magick_wand"/>
<CursorPos X="17" Y="32"/>
<TopLine Value="16"/>
<UsageCount Value="10"/>
</Unit27>
<Unit28>
<Filename Value="../wand/drawing_wand.inc"/>
<CursorPos X="56" Y="247"/>
<TopLine Value="226"/>
<UsageCount Value="10"/>
</Unit28>
<Unit29>
<Filename Value="../magick/type.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="24"/>
<UsageCount Value="10"/>
</Unit29>
</Units>
<JumpHistory Count="0" HistoryIndex="-1"/>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
<SearchPaths>
<OtherUnitFiles Value="../magick/;../wand/"/>
<SrcPath Value="../magick/;../wand/"/>
</SearchPaths>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Watches Count="4">
<Item1>
<Expression Value="GlassTop"/>
<Enabled Value="False"/>
</Item1>
<Item2>
<Expression Value="GlassLeft"/>
<Enabled Value="False"/>
</Item2>
<Item3>
<Expression Value="GlassHeight"/>
<Enabled Value="False"/>
</Item3>
<Item4>
<Expression Value="GlassWidth"/>
<Enabled Value="False"/>
</Item4>
</Watches>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,59 @@
{
Demonstration program for the ImageMagick Library
This program was converted from c by: Felipe Monteiro de Carvalho
Usage: Just execute the program. It will resize the image.png image
on it's directory to fit (106, 80) and convert it to a jpg.
Dez/2005
}
program wanddemo;
{$mode objfpc}{$H+}
uses SysUtils, magick_wand, ImageMagick;
procedure ThrowWandException(wand: PMagickWand);
var
description: PChar;
severity: ExceptionType;
begin
description := MagickGetException(wand, @severity);
WriteLn(Format('An error ocurred. Description: %s', [description]));
description := MagickRelinquishMemory(description);
Abort;
end;
var
status: MagickBooleanType;
wand: PMagickWand;
begin
{ Read an image. }
MagickWandGenesis;
wand := NewMagickWand;
try
status := MagickReadImage(wand, 'image.png');
if (status = MagickFalse) then ThrowWandException(wand);
{ Turn the images into a thumbnail sequence. }
MagickResetIterator(wand);
while (MagickNextImage(wand) <> MagickFalse) do
MagickResizeImage(wand, 106, 80, LanczosFilter, 1.0);
{ Write the image as MIFF and destroy it. }
status := MagickWriteImages(wand, 'image.jpg', MagickTrue);
if (status = MagickFalse) then ThrowWandException(wand);
finally
wand := DestroyMagickWand(wand);
MagickWandTerminus;
end;
end.

View File

@ -0,0 +1,291 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="/"/>
<Version Value="5"/>
<General>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=""/>
<Title Value="screenshot"/>
<ActiveEditorIndexAtStart Value="2"/>
</General>
<LazDoc Paths=""/>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<Units Count="32">
<Unit0>
<Filename Value="screenshot.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="screenshot"/>
<CursorPos X="22" Y="20"/>
<TopLine Value="2"/>
<EditorIndex Value="0"/>
<UsageCount Value="47"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="magick_wand.pas"/>
<UnitName Value="magick_wand"/>
<CursorPos X="13" Y="49"/>
<TopLine Value="36"/>
<UsageCount Value="23"/>
</Unit1>
<Unit2>
<Filename Value="magick_type.inc"/>
<CursorPos X="41" Y="3"/>
<TopLine Value="1"/>
<UsageCount Value="11"/>
</Unit2>
<Unit3>
<Filename Value="magick_image.inc"/>
<CursorPos X="24" Y="301"/>
<TopLine Value="301"/>
<UsageCount Value="20"/>
</Unit3>
<Unit4>
<Filename Value="drawing_wand.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="16"/>
</Unit4>
<Unit5>
<Filename Value="quantize.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit5>
<Unit6>
<Filename Value="home/felipe/Programas/imagemagick/magick/quantize.inc"/>
<CursorPos X="30" Y="25"/>
<TopLine Value="9"/>
<UsageCount Value="8"/>
</Unit6>
<Unit7>
<Filename Value="home/felipe/Programas/imagemagick/magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="1" Y="26"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit7>
<Unit8>
<Filename Value="C:/Programas/ImageMagick/magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="41" Y="26"/>
<TopLine Value="22"/>
<UsageCount Value="9"/>
</Unit8>
<Unit9>
<Filename Value="C:/Programas/ImageMagick/magick/magick_type.inc"/>
<CursorPos X="1" Y="303"/>
<TopLine Value="357"/>
<UsageCount Value="8"/>
</Unit9>
<Unit10>
<Filename Value="home/felipe/Programas/PascalMagick/magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="5" Y="31"/>
<TopLine Value="27"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="home/felipe/Programas/PascalMagick/magick/statistic.inc"/>
<CursorPos X="1" Y="46"/>
<TopLine Value="18"/>
<UsageCount Value="9"/>
</Unit11>
<Unit12>
<Filename Value="home/felipe/Programas/PascalMagick/magick/magick_type.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="9"/>
</Unit12>
<Unit13>
<Filename Value="pixel_wand.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="19"/>
</Unit13>
<Unit14>
<Filename Value="home/felipe/Programas/PascalMagick/magick/constitute.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit14>
<Unit15>
<Filename Value="home/felipe/Programas/PascalMagick/magick/effect.inc"/>
<CursorPos X="1" Y="19"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit15>
<Unit16>
<Filename Value="pixel_iterator.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="11"/>
</Unit16>
<Unit17>
<Filename Value="home/felipe/Programas/PascalMagick/magick/cache_view.inc"/>
<CursorPos X="25" Y="28"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit17>
<Unit18>
<Filename Value="magick_attribute.inc"/>
<CursorPos X="37" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="13"/>
</Unit18>
<Unit19>
<Filename Value="C:/Programas/PascalMagick/magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="11" Y="13"/>
<TopLine Value="1"/>
<UsageCount Value="12"/>
</Unit19>
<Unit20>
<Filename Value="C:/Programas/PascalMagick/magick/magick_type.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="12"/>
</Unit20>
<Unit21>
<Filename Value="C:/Programas/PascalMagick/magick/draw.inc"/>
<CursorPos X="22" Y="241"/>
<TopLine Value="236"/>
<UsageCount Value="9"/>
</Unit21>
<Unit22>
<Filename Value="C:/Programas/PascalMagick/magick/type.inc"/>
<CursorPos X="24" Y="63"/>
<TopLine Value="62"/>
<UsageCount Value="10"/>
</Unit22>
<Unit23>
<Filename Value="C:/Programas/PascalMagick/magick/pixel.inc"/>
<CursorPos X="24" Y="4"/>
<TopLine Value="1"/>
<UsageCount Value="9"/>
</Unit23>
<Unit24>
<Filename Value="../magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="3"/>
<UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit24>
<Unit25>
<Filename Value="../magick/magick_type.inc"/>
<CursorPos X="7" Y="288"/>
<TopLine Value="82"/>
<UsageCount Value="12"/>
</Unit25>
<Unit26>
<Filename Value="../wand/pixel_iterator.inc"/>
<CursorPos X="26" Y="9"/>
<TopLine Value="9"/>
<UsageCount Value="10"/>
</Unit26>
<Unit27>
<Filename Value="../wand/magick_wand.pas"/>
<UnitName Value="magick_wand"/>
<CursorPos X="15" Y="48"/>
<TopLine Value="39"/>
<EditorIndex Value="1"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit27>
<Unit28>
<Filename Value="../wand/drawing_wand.inc"/>
<CursorPos X="56" Y="247"/>
<TopLine Value="226"/>
<UsageCount Value="10"/>
</Unit28>
<Unit29>
<Filename Value="../magick/type.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="24"/>
<UsageCount Value="10"/>
</Unit29>
<Unit30>
<Filename Value="../wand/magick_image.inc"/>
<CursorPos X="1" Y="396"/>
<TopLine Value="380"/>
<EditorIndex Value="4"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit30>
<Unit31>
<Filename Value="../wand/pixel_wand.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="2"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit31>
</Units>
<JumpHistory Count="2" HistoryIndex="1">
<Position1>
<Filename Value="screenshot.lpr"/>
<Caret Line="20" Column="22" TopLine="2"/>
</Position1>
<Position2>
<Filename Value="../wand/magick_wand.pas"/>
<Caret Line="48" Column="15" TopLine="39"/>
</Position2>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
<SearchPaths>
<OtherUnitFiles Value="../magick/;../wand/"/>
<SrcPath Value="../magick/;../wand/"/>
</SearchPaths>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Watches Count="4">
<Item1>
<Expression Value="GlassTop"/>
<Enabled Value="False"/>
</Item1>
<Item2>
<Expression Value="GlassLeft"/>
<Enabled Value="False"/>
</Item2>
<Item3>
<Expression Value="GlassHeight"/>
<Enabled Value="False"/>
</Item3>
<Item4>
<Expression Value="GlassWidth"/>
<Enabled Value="False"/>
</Item4>
</Watches>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,270 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="/"/>
<Version Value="5"/>
<General>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=""/>
<Title Value="screenshot"/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<LazDoc Paths=""/>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<Units Count="31">
<Unit0>
<Filename Value="screenshot.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="screenshot"/>
<CursorPos X="19" Y="16"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="47"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="magick_wand.pas"/>
<UnitName Value="magick_wand"/>
<CursorPos X="13" Y="49"/>
<TopLine Value="36"/>
<UsageCount Value="23"/>
</Unit1>
<Unit2>
<Filename Value="magick_type.inc"/>
<CursorPos X="41" Y="3"/>
<TopLine Value="1"/>
<UsageCount Value="11"/>
</Unit2>
<Unit3>
<Filename Value="magick_image.inc"/>
<CursorPos X="24" Y="301"/>
<TopLine Value="301"/>
<UsageCount Value="20"/>
</Unit3>
<Unit4>
<Filename Value="drawing_wand.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="16"/>
</Unit4>
<Unit5>
<Filename Value="quantize.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit5>
<Unit6>
<Filename Value="home/felipe/Programas/imagemagick/magick/quantize.inc"/>
<CursorPos X="30" Y="25"/>
<TopLine Value="9"/>
<UsageCount Value="8"/>
</Unit6>
<Unit7>
<Filename Value="home/felipe/Programas/imagemagick/magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="1" Y="26"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit7>
<Unit8>
<Filename Value="C:/Programas/ImageMagick/magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="41" Y="26"/>
<TopLine Value="22"/>
<UsageCount Value="9"/>
</Unit8>
<Unit9>
<Filename Value="C:/Programas/ImageMagick/magick/magick_type.inc"/>
<CursorPos X="1" Y="303"/>
<TopLine Value="357"/>
<UsageCount Value="8"/>
</Unit9>
<Unit10>
<Filename Value="home/felipe/Programas/PascalMagick/magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="5" Y="31"/>
<TopLine Value="27"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="home/felipe/Programas/PascalMagick/magick/statistic.inc"/>
<CursorPos X="1" Y="46"/>
<TopLine Value="18"/>
<UsageCount Value="9"/>
</Unit11>
<Unit12>
<Filename Value="home/felipe/Programas/PascalMagick/magick/magick_type.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="9"/>
</Unit12>
<Unit13>
<Filename Value="pixel_wand.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="19"/>
</Unit13>
<Unit14>
<Filename Value="home/felipe/Programas/PascalMagick/magick/constitute.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit14>
<Unit15>
<Filename Value="home/felipe/Programas/PascalMagick/magick/effect.inc"/>
<CursorPos X="1" Y="19"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit15>
<Unit16>
<Filename Value="pixel_iterator.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="11"/>
</Unit16>
<Unit17>
<Filename Value="home/felipe/Programas/PascalMagick/magick/cache_view.inc"/>
<CursorPos X="25" Y="28"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit17>
<Unit18>
<Filename Value="magick_attribute.inc"/>
<CursorPos X="37" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="13"/>
</Unit18>
<Unit19>
<Filename Value="C:/Programas/PascalMagick/magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="11" Y="13"/>
<TopLine Value="1"/>
<UsageCount Value="12"/>
</Unit19>
<Unit20>
<Filename Value="C:/Programas/PascalMagick/magick/magick_type.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="12"/>
</Unit20>
<Unit21>
<Filename Value="C:/Programas/PascalMagick/magick/draw.inc"/>
<CursorPos X="22" Y="241"/>
<TopLine Value="236"/>
<UsageCount Value="9"/>
</Unit21>
<Unit22>
<Filename Value="C:/Programas/PascalMagick/magick/type.inc"/>
<CursorPos X="24" Y="63"/>
<TopLine Value="62"/>
<UsageCount Value="10"/>
</Unit22>
<Unit23>
<Filename Value="C:/Programas/PascalMagick/magick/pixel.inc"/>
<CursorPos X="24" Y="4"/>
<TopLine Value="1"/>
<UsageCount Value="9"/>
</Unit23>
<Unit24>
<Filename Value="../magick/ImageMagick.pas"/>
<UnitName Value="ImageMagick"/>
<CursorPos X="14" Y="44"/>
<TopLine Value="32"/>
<UsageCount Value="14"/>
</Unit24>
<Unit25>
<Filename Value="../magick/magick_type.inc"/>
<CursorPos X="7" Y="288"/>
<TopLine Value="82"/>
<UsageCount Value="12"/>
</Unit25>
<Unit26>
<Filename Value="../wand/pixel_iterator.inc"/>
<CursorPos X="26" Y="9"/>
<TopLine Value="9"/>
<UsageCount Value="10"/>
</Unit26>
<Unit27>
<Filename Value="../wand/magick_wand.pas"/>
<UnitName Value="magick_wand"/>
<CursorPos X="17" Y="32"/>
<TopLine Value="16"/>
<UsageCount Value="10"/>
</Unit27>
<Unit28>
<Filename Value="../wand/drawing_wand.inc"/>
<CursorPos X="56" Y="247"/>
<TopLine Value="226"/>
<UsageCount Value="10"/>
</Unit28>
<Unit29>
<Filename Value="../magick/type.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="24"/>
<UsageCount Value="10"/>
</Unit29>
<Unit30>
<Filename Value="../wand/magick_image.inc"/>
<CursorPos X="1" Y="396"/>
<TopLine Value="380"/>
<EditorIndex Value="1"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit30>
</Units>
<JumpHistory Count="0" HistoryIndex="-1"/>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
<SearchPaths>
<OtherUnitFiles Value="../magick/;../wand/"/>
<SrcPath Value="../magick/;../wand/"/>
</SearchPaths>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Watches Count="4">
<Item1>
<Expression Value="GlassTop"/>
<Enabled Value="False"/>
</Item1>
<Item2>
<Expression Value="GlassLeft"/>
<Enabled Value="False"/>
</Item2>
<Item3>
<Expression Value="GlassHeight"/>
<Enabled Value="False"/>
</Item3>
<Item4>
<Expression Value="GlassWidth"/>
<Enabled Value="False"/>
</Item4>
</Watches>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,151 @@
{
Demonstration software for image resizing and screenshot using PascalMagick
Created by: Felipe Monteiro de Carvalho
This software takes a screenshot of the screen and enlarges it using anti-aliasing
or not depending on what the user select.
Notes: This software uses X11 to take the screenshot so it will only work on UNIXes
More information on this page:
http://wiki.lazarus.freepascal.org/index.php/PascalMagick
April/2006
}
program screenshot;
{$mode objfpc}{$H+}
uses SysUtils, magick_wand, ImageMagick, Unix;
type
TCommand = (cmdQuit, cmdSample, cmdAntiAliase);
{
Catches exceptions from ImageMagick
}
procedure ThrowWandException(wand: PMagickWand);
var
description: PChar;
severity: ExceptionType;
begin
description := MagickGetException(wand, @severity);
WriteLn(Format('An error ocurred. Description: %s', [description]));
description := MagickRelinquishMemory(description);
Abort;
end;
{
Shows the main screen
}
function MainScreen: TCommand;
var
i: Integer;
Continuar: Boolean;
begin
Continuar := False;
WriteLn('=========================================================');
WriteLn(' Welcome to PascalMagick demo software 2');
WriteLn('=========================================================');
while not Continuar do
begin
WriteLn('');
WriteLn('The following commands are available:');
WriteLn(' 0 - Quit');
WriteLn(' 1 - Capture screenshot and resize it to 2024x1536');
WriteLn(' 2 - Same as #1 except that uses Anti-Aliasing');
Write(': ');
ReadLn(i);
case i of
0:
begin
Result := cmdQuit;
Continuar := True;
end;
1:
begin
Result := cmdSample;
Continuar := True;
end;
2:
begin
Result := cmdAntiAliase;
Continuar := True;
end;
else
WriteLn('Wrong Command!!');
end;
end;
end;
{
Main procedure
}
var
status: MagickBooleanType;
wand: PMagickWand;
TempDir, shellStr: string;
Antes: TTimeStamp;
Command: TCommand;
begin
{ Presentation screen and user options }
Command := MainScreen;
if Command = cmdQuit then Exit;
{ Create the image }
Antes := DateTimeToTimeStamp(Now);
TempDir := GetTempDir(False);
shellStr := 'xwd -root -out ' + TempDir + 'display.xwd';
WriteLn(shellStr);
shell(shellStr);
{ Read an image. }
MagickWandGenesis;
wand := NewMagickWand;
try
status := MagickReadImage(wand, PChar(TempDir + 'display.xwd'));
if (status = MagickFalse) then ThrowWandException(wand);
{ Enlarge the Image }
WriteLn('Enlarging');
if Command = cmdAntiAliase then MagickResizeImage(wand, 2024, 1536, BoxFilter, 1.0)
else MagickSampleImage(wand, 2024, 1536);
WriteLn(IntToStr(DateTimeToTimeStamp(Now).Time - Antes.Time));
WriteLn('Saving');
{ Write the image as MIFF and destroy it. }
status := MagickWriteImages(wand, PChar(TempDir + 'enlarged.jpg'), MagickTrue);
if (status = MagickFalse) then ThrowWandException(wand);
WriteLn(IntToStr(DateTimeToTimeStamp(Now).Time - Antes.Time));
finally
wand := DestroyMagickWand(wand);
MagickWandTerminus;
end;
end.

View File

@ -0,0 +1,52 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick Cache View Methods.
}
type
ViewInfo = record
image: PImage;
id: Cardinal;
signature: Cardinal;
end;
PViewInfo = ^ViewInfo;
{extern MagickExport const PixelPacket
*AcquireCacheView(const ViewInfo *,const long,const long,const unsigned long,
const unsigned long,ExceptionInfo *);
extern MagickExport IndexPacket
*GetCacheViewIndexes(const ViewInfo *);
extern MagickExport MagickBooleanType
SyncCacheView(ViewInfo *);
extern MagickExport PixelPacket
*GetCacheViewPixels(const ViewInfo *),
*GetCacheView(ViewInfo *,const long,const long,const unsigned long,
const unsigned long),
*SetCacheView(ViewInfo *,const long,const long,const unsigned long,
const unsigned long);
extern MagickExport ViewInfo
*OpenCacheView(Image *);
extern MagickExport void
CloseCacheView(ViewInfo *);}

View File

@ -0,0 +1,44 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick image compare methods.
}
//#include "magick/image.h"
type
MetricType = (
UndefinedMetric,
MeanAbsoluteErrorMetric,
MeanSquaredErrorMetric,
PeakAbsoluteErrorMetric,
PeakSignalToNoiseRatioMetric,
RootMeanSquaredErrorMetric
);
{extern MagickExport Image
*CompareImageChannels(Image *,const Image *,const ChannelType,
const MetricType,double *,ExceptionInfo *),
*CompareImages(Image *,const Image *,const MetricType,double *,
ExceptionInfo *);
extern MagickExport MagickBooleanType
CompareImageCommand(ImageInfo *,int,char **,char **,ExceptionInfo *),
GetImageChannelDistortion(Image *,const Image *,const ChannelType,
const MetricType,double *,ExceptionInfo *),
GetImageDistortion(Image *,const Image *,const MetricType,double *,
ExceptionInfo *),
IsImagesEqual(Image *,const Image *);}

View File

@ -0,0 +1,45 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick image constitute methods.
}
type
StorageType = (
UndefinedPixel,
CharPixel,
DoublePixel,
FloatPixel,
IntegerPixel,
LongPixel,
QuantumPixel,
ShortPixel
);
{extern MagickExport Image
*ConstituteImage(const unsigned long,const unsigned long,const char *,
const StorageType,const void *,ExceptionInfo *),
*PingImage(const ImageInfo *,ExceptionInfo *),
*ReadImage(const ImageInfo *,ExceptionInfo *),
*ReadInlineImage(const ImageInfo *,const char *,ExceptionInfo *);
extern MagickExport MagickBooleanType
WriteImage(const ImageInfo *,Image *),
WriteImages(const ImageInfo *,Image *,const char *,ExceptionInfo *);
extern MagickExport void
DestroyConstitute(void);}

View File

@ -0,0 +1,298 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick drawing methods.
}
//#include "magick/type.h"
type
AlignType = (
UndefinedAlign,
LeftAlign,
CenterAlign,
RightAlign
);
type
ClipPathUnits = (
UndefinedPathUnits,
UserSpace,
UserSpaceOnUse,
ObjectBoundingBox
);
type
DecorationType = (
UndefinedDecoration,
NoDecoration,
UnderlineDecoration,
OverlineDecoration,
LineThroughDecoration
);
type
FillRule = (
UndefinedRule,
//#undef EvenOddRule
EvenOddRule,
NonZeroRule
);
type
GradientType = (
UndefinedGradient,
LinearGradient,
RadialGradient
);
type
LineCap = (
UndefinedCap,
ButtCap,
RoundCap,
SquareCap
);
type
LineJoin = (
UndefinedJoin,
MiterJoin,
RoundJoin,
BevelJoin
);
type
PaintMethod = (
UndefinedMethod,
PointMethod,
ReplaceMethod,
FloodfillMethod,
FillToBorderMethod,
ResetMethod
);
type
PrimitiveType = (
UndefinedPrimitive,
PointPrimitive,
LinePrimitive,
RectanglePrimitive,
RoundRectanglePrimitive,
ArcPrimitive,
EllipsePrimitive,
CirclePrimitive,
PolylinePrimitive,
PolygonPrimitive,
BezierPrimitive,
ColorPrimitive,
MattePrimitive,
TextPrimitive,
ImagePrimitive,
PathPrimitive
);
type
ReferenceType = (
UndefinedReference,
GradientReference
);
type
SpreadMethod = (
UndefinedSpread,
PadSpread,
ReflectSpead,
RepeatSpread
);
type
GradientInfo = record
type_: GradientType;
color: PixelPacket;
stop: SegmentInfo;
length: Cardinal;
spread: SpreadMethod;
debug: MagickBooleanType;
signature: Cardinal;
previous, next: Pointer;
{ struct _GradientInfo
*previous,
*next;}
end;
type
ElementReference = record
id: PChar;
type_: ReferenceType;
gradient: GradientInfo;
signature: Cardinal;
previous, next: Pointer;
{ struct _ElementReference
*previous,
*next;}
end;
type
DrawInfo = record
primitive,
geometry: PChar;
viewbox: RectangleInfo;
affine: AffineMatrix;
gravity: GravityType;
fill,
stroke: PixelPacket;
stroke_width: double;
gradient: GradientInfo;
fill_pattern,
tile,
stroke_pattern: PImage;
stroke_antialias,
text_antialias: MagickBooleanType;
fill_rule: FillRule;
linecap_: LineCap;
linejoin_: LineJoin;
miterlimit: Cardinal;
dash_offset: double;
decorate: DecorationType;
compose: CompositeOperator;
text: PChar;
face: Cardinal;
font,
metrics,
family: PChar;
style: StyleType;
stretch: StretchType;
weight: Cardinal;
encoding: PChar;
pointsize: double;
density: PChar;
align: AlignType;
undercolor,
border_color: PixelPacket;
server_name: PChar;
dash_pattern: Pdouble;
clip_path: PChar;
bounds: SegmentInfo;
clip_units: ClipPathUnits;
opacity: Quantum;
render: MagickBooleanType;
element_reference: ElementReference;
debug: MagickBooleanType;
signature: Cardinal;
end;
PDrawInfo = ^DrawInfo;
PPDrawInfo = ^PDrawInfo;
type
PointInfo = record
x, y: double;
end;
PPointInfo = ^PointInfo;
type
PrimitiveInfo = record
point: PointInfo;
coordinates: Cardinal;
primitive: PrimitiveType;
method: PaintMethod;
text: PChar;
end;
type
TypeMetric = record
pixels_per_em: PointInfo;
ascent,
descent,
width,
height,
max_advance,
underline_position,
underline_thickness: double;
bounds: SegmentInfo;
end;
{extern MagickExport DrawInfo
*CloneDrawInfo(const ImageInfo *,const DrawInfo *),
*DestroyDrawInfo(DrawInfo *);
extern MagickExport MagickBooleanType
DrawAffineImage(Image *,const Image *,const AffineMatrix *),
DrawClipPath(Image *,const DrawInfo *,const char *),
DrawImage(Image *,const DrawInfo *),
DrawPatternPath(Image *,const DrawInfo *,const char *,Image **),
DrawPrimitive(Image *,const DrawInfo *,const PrimitiveInfo *);
extern MagickExport void
GetAffineMatrix(AffineMatrix *),
GetDrawInfo(const ImageInfo *,DrawInfo *);}

View File

@ -0,0 +1,71 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick image effects methods.
}
type
NoiseType = (
UndefinedNoise,
UniformNoise,
GaussianNoise,
MultiplicativeGaussianNoise,
ImpulseNoise,
LaplacianNoise,
PoissonNoise
);
{extern MagickExport Image
*AdaptiveThresholdImage(const Image *,const unsigned long,const unsigned long, const long,ExceptionInfo *),
*AddNoiseImage(const Image *,const NoiseType,ExceptionInfo *),
*AddNoiseImageChannel(const Image *,const ChannelType,const NoiseType,
ExceptionInfo *),
*BlurImage(const Image *,const double,const double,ExceptionInfo *),
*BlurImageChannel(const Image *,const ChannelType,const double,const double,
ExceptionInfo *),
*DespeckleImage(const Image *,ExceptionInfo *),
*EdgeImage(const Image *,const double,ExceptionInfo *),
*EmbossImage(const Image *,const double,const double,ExceptionInfo *),
*GaussianBlurImage(const Image *,const double,const double,ExceptionInfo *),
*GaussianBlurImageChannel(const Image *,const ChannelType,const double,
const double,ExceptionInfo *),
*MedianFilterImage(const Image *,const double,ExceptionInfo *),
*MotionBlurImage(const Image *,const double,const double,const double,
ExceptionInfo *),
*PreviewImage(const Image *,const PreviewType,ExceptionInfo *),
*RadialBlurImage(const Image *,const double,ExceptionInfo *),
*RadialBlurImageChannel(const Image *,const ChannelType,const double,
ExceptionInfo *),
*ReduceNoiseImage(const Image *,const double,ExceptionInfo *),
*ShadeImage(const Image *,const MagickBooleanType,const double,const double,
ExceptionInfo *),
*SharpenImage(const Image *,const double,const double,ExceptionInfo *),
*SharpenImageChannel(const Image *,const ChannelType,const double,
const double,ExceptionInfo *),
*SpreadImage(const Image *,const double,ExceptionInfo *),
*UnsharpMaskImage(const Image *,const double,const double,const double,
const double,ExceptionInfo *),
*UnsharpMaskImageChannel(const Image *,const ChannelType,const double,
const double,const double,const double,ExceptionInfo *);
extern MagickExport MagickBooleanType
BlackThresholdImage(Image *,const char *),
BilevelImage(Image *,const double),
BilevelImageChannel(Image *,const ChannelType,const double),
RandomThresholdImage(Image *,const char *,ExceptionInfo *),
RandomThresholdImageChannel(Image *,const ChannelType,const char *,
ExceptionInfo *),
WhiteThresholdImage(Image *,const char *);}

View File

@ -0,0 +1,63 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick image f/x methods.
}
type
MagickEvaluateOperator = (
UndefinedEvaluateOperator,
AddEvaluateOperator,
AndEvaluateOperator,
DivideEvaluateOperator,
LeftShiftEvaluateOperator,
MaxEvaluateOperator,
MinEvaluateOperator,
MultiplyEvaluateOperator,
OrEvaluateOperator,
RightShiftEvaluateOperator,
SetEvaluateOperator,
SubtractEvaluateOperator,
XorEvaluateOperator
);
{extern MagickExport Image
*CharcoalImage(const Image *,const double,const double,ExceptionInfo *),
*ColorizeImage(const Image *,const char *,const PixelPacket,ExceptionInfo *),
*ConvolveImage(const Image *,const unsigned long,const double *,
ExceptionInfo *),
*ConvolveImageChannel(const Image *,const ChannelType,const unsigned long,
const double *,ExceptionInfo *),
*FxImage(const Image *,const char *,ExceptionInfo *),
*FxImageChannel(const Image *,const ChannelType,const char *,ExceptionInfo *),
*ImplodeImage(const Image *,const double,ExceptionInfo *),
*MorphImages(const Image *,const unsigned long,ExceptionInfo *),
*OilPaintImage(const Image *,const double,ExceptionInfo *),
*SepiaToneImage(const Image *,const double,ExceptionInfo *),
*ShadowImage(const Image *,const double,const double,const long,const long,
ExceptionInfo *),
*SteganoImage(const Image *,const Image *,ExceptionInfo *),
*StereoImage(const Image *,const Image *,ExceptionInfo *),
*SwirlImage(const Image *,double,ExceptionInfo *),
*TintImage(const Image *,const char *,const PixelPacket,ExceptionInfo *),
*WaveImage(const Image *,const double,const double,ExceptionInfo *);
extern MagickExport MagickBooleanType
EvaluateImage(Image *,const MagickEvaluateOperator,const double,
ExceptionInfo *),
EvaluateImageChannel(Image *,const ChannelType,const MagickEvaluateOperator,
const double,ExceptionInfo *),
SolarizeImage(Image *,const double);}

View File

@ -0,0 +1,115 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick Application Programming Interface declarations.
Converted from c by: Felipe Monteiro de Carvalho Dez/2005
}
{Version 0.2}
unit ImageMagick;
{$ifdef FPC}
{$mode objfpc}
{$endif}
interface
uses SysUtils;
{$PACKRECORDS C}
{$MINENUMSIZE 1}
const
{$ifdef Win32}
WandExport = 'CORE_RL_wand_.dll';
{$else}
WandExport = 'libWand';
{$endif}
{# include "magick/methods.h"
#endif}
{$include magick_type.inc}
{$include type.inc}
{#$include animate.inc}
{#$include annotate.inc}
{#$include attribute.inc}
{#$include blob.inc}
{#$include cache.inc}
{$include cache_view.inc}
{#include "magick/coder.h"
#include "magick/client.h"
#include "magick/color.h"
#include "magick/colorspace.h"}
{$include compare.inc}
{#include "magick/composite.h"
#include "magick/compress.h"
#include "magick/configure.h"
#include "magick/conjure.h"}
{$include constitute.inc}
{#include "magick/convert.h"
#include "magick/decorate.h"
#include "magick/delegate.h"
#include "magick/deprecate.h"
#include "magick/display.h"}
{$include draw.inc}
{$include effect.inc}
{#include "magick/enhance.h"
#include "magick/exception.h"}
{$include fx.inc}
{#include "magick/gem.h"
#include "magick/geometry.h"
#include "magick/hashmap.h"
#include "magick/identify.h"
#include "magick/image.h"
#include "magick/import.h"
#include "magick/list.h"
#include "magick/locale_.h"
#include "magick/log.h"
#include "magick/magic.h"
#include "magick/magick.h"
#include "magick/memory_.h"
#include "magick/module.h"
#include "magick/mogrify.h"
#include "magick/monitor.h"
#include "magick/montage.h"
#include "magick/option.h"
#include "magick/paint.h"}
{$include pixel.inc}
{#include "magick/prepress.h"
#include "magick/profile.h"}
{$include quantize.inc}
{#include "magick/quantum.h"
#include "magick/registry.h"
#include "magick/random_.h"
#include "magick/resize.h"
#include "magick/resource_.h"
#include "magick/segment.h"
#include "magick/shear.h"
#include "magick/signature.h"
#include "magick/splay-tree.h"
#include "magick/stream.h"}
{$include statistic.inc}
{#include "magick/string_.h"
#include "magick/timer.h"
#include "magick/token.h"
#include "magick/transform.h"
#include "magick/utility.h"
#include "magick/version.h"
#include "magick/xwindow.h"}
implementation
end.

View File

@ -0,0 +1,635 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick structure members.
NOTE: This is a simplifyed version of magick/magick-type.h
}
const MaxTextExtent = 4096;
const
MagickFalse = 0;
MagickTrue = 1;
type
MagickBooleanType = Byte;
PMagickBooleanType = ^MagickBooleanType;
//#include "magick/semaphore.h"
{
The Quantum Depth was fixed at 16 to make the code simpler
In the future there is the possibility to go to the c bindings
and implement the variable QuantumDepth here
}
const
QuantumDepth = 16;
{$define QuantumLeap}
const
MagickEpsilon = 1.0E-10;
MaxColormapSize = 65536;
MaxMap = 65535;
QuantumFormat = '%u';
QuantumRange = 65535;
type
MagickRealType = double;
Quantum = Word;
{
Type declarations.
}
type
MagickStatusType = Word;
MagickOffsetType = Int64;
MagickSizeType = Int64;
const
UndefinedChannel = 0;
RedChannel = $0001;
GrayChannel = $0001;
CyanChannel = $0001;
GreenChannel = $0002;
MagentaChannel = $0002;
BlueChannel = $0004;
YellowChannel = $0004;
AlphaChannel = $0008;
OpacityChannel = $0008;
MatteChannel = $0008; // deprecated
BlackChannel = $0020;
IndexChannel = $0020;
AllChannels = $ff;
type
ChannelType = Byte;
PChannelType = ^ChannelType;
type
ClassType = (
UndefinedClass,
DirectClass,
PseudoClass
);
PClassType = ^ClassType;
type
ColorspaceType = (
UndefinedColorspace,
RGBColorspace,
GRAYColorspace,
TransparentColorspace,
OHTAColorspace,
LABColorspace,
XYZColorspace,
YCbCrColorspace,
YCCColorspace,
YIQColorspace,
YPbPrColorspace,
YUVColorspace,
CMYKColorspace,
sRGBColorspace,
HSBColorspace,
HSLColorspace,
HWBColorspace,
Rec601LumaColorspace,
Rec709LumaColorspace,
LogColorspace
);
PColorspaceType = ^ColorspaceType;
type
CompositeOperator = (
UndefinedCompositeOp,
NoCompositeOp,
AddCompositeOp,
AtopCompositeOp,
BlendCompositeOp,
BumpmapCompositeOp,
ClearCompositeOp,
ColorBurnCompositeOp,
ColorDodgeCompositeOp,
ColorizeCompositeOp,
CopyBlackCompositeOp,
CopyBlueCompositeOp,
CopyCompositeOp,
CopyCyanCompositeOp,
CopyGreenCompositeOp,
CopyMagentaCompositeOp,
CopyOpacityCompositeOp,
CopyRedCompositeOp,
CopyYellowCompositeOp,
DarkenCompositeOp,
DstAtopCompositeOp,
DstCompositeOp,
DstInCompositeOp,
DstOutCompositeOp,
DstOverCompositeOp,
DifferenceCompositeOp,
DisplaceCompositeOp,
DissolveCompositeOp,
ExclusionCompositeOp,
HardLightCompositeOp,
HueCompositeOp,
InCompositeOp,
LightenCompositeOp,
LuminizeCompositeOp,
MinusCompositeOp,
ModulateCompositeOp,
MultiplyCompositeOp,
OutCompositeOp,
OverCompositeOp,
OverlayCompositeOp,
PlusCompositeOp,
ReplaceCompositeOp,
SaturateCompositeOp,
ScreenCompositeOp,
SoftLightCompositeOp,
SrcAtopCompositeOp,
SrcCompositeOp,
SrcInCompositeOp,
SrcOutCompositeOp,
SrcOverCompositeOp,
SubtractCompositeOp,
ThresholdCompositeOp,
XorCompositeOp
);
PCompositeOperator = ^CompositeOperator;
type
CompressionType = (
UndefinedCompression,
NoCompression,
BZipCompression,
FaxCompression,
Group4Compression,
JPEGCompression,
JPEG2000Compression,
LosslessJPEGCompression,
LZWCompression,
RLECompression,
ZipCompression
);
PCompressionType = ^CompressionType;
const
UnrecognizedDispose = 0;
UndefinedDispose = 0;
NoneDispose = 1;
BackgroundDispose = 2;
PreviousDispose = 3;
type
DisposeType = Byte;
PDisposeType = ^DisposeType;
type
EndianType = (
UndefinedEndian,
LSBEndian,
MSBEndian
);
PEndianType = ^EndianType;
const
UndefinedException = 0;
WarningException = 300;
ResourceLimitWarning = 300;
TypeWarning = 305;
OptionWarning = 310;
DelegateWarning = 315;
MissingDelegateWarning = 320;
CorruptImageWarning = 325;
FileOpenWarning = 330;
BlobWarning = 335;
StreamWarning = 340;
CacheWarning = 345;
CoderWarning = 350;
ModuleWarning = 355;
DrawWarning = 360;
ImageWarning = 365;
WandWarning = 370;
XServerWarning = 380;
MonitorWarning = 385;
RegistryWarning = 390;
ConfigureWarning = 395;
ErrorException = 400;
ResourceLimitError = 400;
TypeError = 405;
OptionError = 410;
DelegateError = 415;
MissingDelegateError = 420;
CorruptImageError = 425;
FileOpenError = 430;
BlobError = 435;
StreamError = 440;
CacheError = 445;
CoderError = 450;
ModuleError = 455;
DrawError = 460;
ImageError = 465;
WandError = 470;
XServerError = 480;
MonitorError = 485;
RegistryError = 490;
ConfigureError = 495;
FatalErrorException = 700;
ResourceLimitFatalError = 700;
TypeFatalError = 705;
OptionFatalError = 710;
DelegateFatalError = 715;
MissingDelegateFatalError = 720;
CorruptImageFatalError = 725;
FileOpenFatalError = 730;
BlobFatalError = 735;
StreamFatalError = 740;
CacheFatalError = 745;
CoderFatalError = 750;
ModuleFatalError = 755;
DrawFatalError = 760;
ImageFatalError = 765;
WandFatalError = 770;
XServerFatalError = 780;
MonitorFatalError = 785;
RegistryFatalError = 790;
ConfigureFatalError = 795;
type
ExceptionType = Word;
PExceptionType = ^ExceptionType;
type
FilterTypes = (
UndefinedFilter,
PointFilter,
BoxFilter,
TriangleFilter,
HermiteFilter,
HanningFilter,
HammingFilter,
BlackmanFilter,
GaussianFilter,
QuadraticFilter,
CubicFilter,
CatromFilter,
MitchellFilter,
LanczosFilter,
BesselFilter,
SincFilter
);
PFilterTypes = ^FilterTypes;
const
UndefinedGravity = 0;
ForgetGravity = 0;
NorthWestGravity = 1;
NorthGravity = 2;
NorthEastGravity = 3;
WestGravity = 4;
CenterGravity = 5;
EastGravity = 6;
SouthWestGravity = 7;
SouthGravity = 8;
SouthEastGravity = 9;
StaticGravity = 10;
type
GravityType = Byte;
PGravityType = ^GravityType;
type ImageType = (
UndefinedType,
BilevelType,
GrayscaleType,
GrayscaleMatteType,
PaletteType,
PaletteMatteType,
TrueColorType,
TrueColorMatteType,
ColorSeparationType,
ColorSeparationMatteType,
OptimizeType
);
PImageType = ^ImageType;
type
InterlaceType = (
UndefinedInterlace,
NoInterlace,
LineInterlace,
PlaneInterlace,
PartitionInterlace
);
PInterlaceType = ^InterlaceType;
type
OrientationType = (
UndefinedOrientation,
TopLeftOrientation,
TopRightOrientation,
BottomRightOrientation,
BottomLeftOrientation,
LeftTopOrientation,
RightTopOrientation,
RightBottomOrientation,
LeftBottomOrientation
);
POrientationType = ^OrientationType;
type PreviewType = (
UndefinedPreview,
RotatePreview,
ShearPreview,
RollPreview,
HuePreview,
SaturationPreview,
BrightnessPreview,
GammaPreview,
SpiffPreview,
DullPreview,
GrayscalePreview,
QuantizePreview,
DespecklePreview,
ReduceNoisePreview,
AddNoisePreview,
SharpenPreview,
BlurPreview,
ThresholdPreview,
EdgeDetectPreview,
SpreadPreview,
SolarizePreview,
ShadePreview,
RaisePreview,
SegmentPreview,
SwirlPreview,
ImplodePreview,
WavePreview,
OilPaintPreview,
CharcoalDrawingPreview,
JPEGPreview
);
PPreviewType = ^PreviewType;
type RenderingIntent = (
UndefinedIntent,
SaturationIntent,
PerceptualIntent,
AbsoluteIntent,
RelativeIntent
);
PRenderingIntent = ^RenderingIntent;
type ResolutionType = (
UndefinedResolution,
PixelsPerInchResolution,
PixelsPerCentimeterResolution
);
PResolutionType = ^ResolutionType;
type TimerState = (
UndefinedTimerState,
StoppedTimerState,
RunningTimerState
);
PTimerState = ^TimerState;
type
AffineMatrix = record
sx, rx, ry, sy, tx, ty: double;
end;
PAffineMatrix = ^AffineMatrix;
type
IndexPacket = Quantum;
type
PixelPacket = record
{$ifdef WORDS_BIGENDIAN}
red, green, blue, opacity: Quantum;
{$else}
blue, green, red, opacity: Quantum;
{$endif}
end;
PPixelPacket = ^PixelPacket;
type
ColorPacket = record
pixel: PixelPacket;
index: IndexPacket;
count: Cardinal;
end;
PColorPacket = ^ColorPacket;
type
ErrorInfo = record
mean_error_per_pixel, normalized_mean_error, normalized_maximum_error: double;
end;
type
PrimaryInfo = record
x, y, z: double;
end;
type
ProfileInfo = record
name: PChar;
length: Integer;
info: PChar;
signature: Cardinal;
end;
PProfileInfo = ^ProfileInfo;
type
RectangleInfo = record
width, height: Cardinal;
x, y: Cardinal;
end;
type
SegmentInfo = record
x1, y1, x2, y2: double;
end;
type
Timer = record
start, stop, total: double;
end;
PTimer = ^Timer;
type
TimerInfo = record
user, elapsed: Timer;
state: TimerState;
signature: Cardinal;
end;
PTimerInfo = ^TimerInfo;
type
ChromaticityInfo = record
red_primary, green_primary, blue_primary, white_point: PrimaryInfo;
end;
type
ExceptionInfo = record
severity: ExceptionType;
error_number: Shortint;
reason, description: PChar;
signature: Cardinal;
end;
PExceptionInfo = ^ExceptionInfo;
//typedef struct _Ascii85Info _Ascii85Info_;
//typedef struct _BlobInfo _BlobInfo_;
type
MagickProgressMonitor = function (const str: PChar; const para: MagickOffsetType;
const sizetype: MagickSizeType; param: Pointer): PMagickBooleanType;
type
Image = record
storage_class: ClassType;
colorspace: ColorspaceType;
compression: CompressionType;
quality: Cardinal;
orientation: OrientationType;
taint, matte: MagickBooleanType;
columns, rows, depth, colors: Cardinal;
colormap: PPixelPacket;
background_color, border_color, matte_color: PixelPacket;
gamma: double;
chromaticity: ChromaticityInfo;
rendering_intent: RenderingIntent;
profiles: Pointer;
units: ResolutionType;
montage, directory, geometry: PChar;
offset: Integer;
x_resolution, y_resolution: double;
page, extract_info, tile_info: RectangleInfo; // deprecated
bias, blur, fuzz: double;
filter: FilterTypes;
interlace: InterlaceType;
endian: EndianType;
gravity: GravityType;
compose: CompositeOperator;
dispose: DisposeType;
clip_mask: Pointer; // PImage
scene, delay, iterations, total_colors: Cardinal;
start_loop: Integer;
error: ErrorInfo;
timer: TimerInfo;
progress_monitor: MagickProgressMonitor;
client_data: Pointer;
cache: Pointer;
attributes: Pointer;
ascii85: Pointer; //_Ascii85Info_
blob: Pointer; // _BlobInfo_
filename, magick_filename, magick: array[1..MaxTextExtent] of char;
magick_columns, magick_rows: Integer;
exception: ExceptionInfo;
debug: MagickBooleanType;
reference_count: Integer;
semaphore: Pointer; //PSemaphoreInfo;
color_profile, iptc_profile: ProfileInfo;
generic_profile: PProfileInfo;
generic_profiles: Cardinal; // this & ProfileInfo is deprecated
signature: Cardinal;
previous, list, next: Pointer;
{ struct _Image
*previous,
*list,
*next;}
end;
PImage = ^Image;
//type
// size_t = PStreamHandler(procedure (const image: PImage;
// const param: Pointer; const) );
type
ImageInfo = record
compression: CompressionType;
orientation: OrientationType;
temporary, adjoin, affirm, antialias: MagickBooleanType;
size, extract, page, scenes: PChar;
scene, number_scenes, depth: Cardinal;
interlace: InterlaceType;
endian: EndianType;
units: ResolutionType;
quality: Cardinal;
sampling_factor, server_name, font, texture, density: PChar;
pointsize, fuzz: double;
background_color, border_color, matte_color: PixelPacket;
dither, monochrome: MagickBooleanType;
colors: Cardinal;
colorspace: ColorspaceType;
type_: ImageType ;
preview_type: PreviewType;
group: Integer;
ping, verbose: MagickBooleanType;
view, authenticate: PChar;
channel: ChannelType;
attributes: PImage;
options: Pointer;
progress_monitor: MagickProgressMonitor;
client_data, cache: Pointer;
stream: Cardinal; //StreamHandler;
file_: Pointer; // *file
blob: Pointer;
length: Integer;
magick, unique, zero, filename: array[1..MaxTextExtent] of char;
debug: MagickBooleanType;
{
Deprecated.
}
tile: PChar;
subimage, subrange: Cardinal;
pen: PixelPacket;
signature: Cardinal;
end;
PImageInfo = ^ImageInfo;

View File

@ -0,0 +1,82 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick image constitute methods.
}
//#include <magick/constitute.h>
type
QuantumType = (
UndefinedQuantum,
AlphaQuantum,
BlackQuantum,
BlueQuantum,
CMYKAQuantum,
CMYKQuantum,
CyanQuantum,
GrayAlphaQuantum,
GrayQuantum,
GreenQuantum,
IndexAlphaQuantum,
IndexQuantum,
MagentaQuantum,
OpacityQuantum,
RedQuantum,
RGBAQuantum,
RGBOQuantum,
RGBQuantum,
YellowQuantum,
GrayPadQuantum,
RGBPadQuantum
);
type
LongPixelPacket = record
red,
green,
blue,
opacity,
index: Cardinal;
end;
type
MagickPixelPacket = record
colorspace: ColorspaceType;
matte: MagickBooleanType;
fuzz: double;
depth: Cardinal;
red,
green,
blue,
opacity,
index: MagickRealType;
end;
PMagickPixelPacket = ^MagickPixelPacket;
{extern MagickExport MagickBooleanType
ExportImagePixels(const Image *,const long,const long,const unsigned long,
const unsigned long,const char *,const StorageType,void *,ExceptionInfo *),
ExportQuantumPixels(Image *,const QuantumType,const size_t,
const unsigned char *),
ImportImagePixels(Image *,const long,const long,const unsigned long,
const unsigned long,const char *,const StorageType,const void *),
ImportQuantumPixels(Image *,const QuantumType,const size_t,unsigned char *);}

View File

@ -0,0 +1,49 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick image quantization methods.
}
type
QuantizeInfo = record
number_colors: Cardinal;
tree_depth: Cardinal;
dither: MagickBooleanType;
colorspace: ColorspaceType;
measure_error: MagickBooleanType;
signature: Cardinal;
end;
{extern MagickExport MagickBooleanType
GetImageQuantizeError(Image *),
MapImage(Image *,const Image *,const MagickBooleanType),
MapImages(Image *,const Image *,const MagickBooleanType),
OrderedDitherImage(Image *),
PosterizeImage(Image *,const unsigned long,const MagickBooleanType),
QuantizeImage(const QuantizeInfo *,Image *),
QuantizeImages(const QuantizeInfo *,Image *);
extern MagickExport QuantizeInfo
*CloneQuantizeInfo(const QuantizeInfo *),
*DestroyQuantizeInfo(QuantizeInfo *);
extern MagickExport void
CompressImageColormap(Image *),
GetQuantizeInfo(QuantizeInfo *);}

View File

@ -0,0 +1,37 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick methods to lock and unlock semaphores.
}
#ifndef _MAGICK_SEMAPHORE_H
#define _MAGICK_SEMAPHORE_H
#endif
typedef struct SemaphoreInfo
SemaphoreInfo;
extern MagickExport MagickBooleanType
LockSemaphoreInfo(SemaphoreInfo *),
UnlockSemaphoreInfo(SemaphoreInfo *);
extern MagickExport SemaphoreInfo
*AllocateSemaphoreInfo(void),
*DestroySemaphoreInfo(SemaphoreInfo *);
extern MagickExport void
AcquireSemaphoreInfo(SemaphoreInfo **),
DestroySemaphore(void),
InitializeSemaphore(void),
RelinquishSemaphoreInfo(SemaphoreInfo *);

View File

@ -0,0 +1,53 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick image methods.
}
type
ChannelStatistics = record
depth: Cardinal;
minima, maxima: Quantum;
mean, standard_deviation: double;
scale: Cardinal;
end;
PChannelStatistics = ^ChannelStatistics;
{extern MagickExport ChannelStatistics
*GetImageChannelStatistics(const Image *,ExceptionInfo *);
extern MagickExport MagickBooleanType
GetImageChannelExtrema(const Image *,const ChannelType,unsigned long *,
unsigned long *,ExceptionInfo *),
GetImageExtrema(const Image *,unsigned long *,unsigned long *,
ExceptionInfo *),
GetImageChannelMean(const Image *,const ChannelType,double *,double *,
ExceptionInfo *),
GetImageMean(const Image *,double *,double *,ExceptionInfo *),
SetImageChannelDepth(Image *,const ChannelType,const unsigned long),
SetImageDepth(Image *,const unsigned long);
extern MagickExport RectangleInfo
GetImageBoundingBox(const Image *,ExceptionInfo *exception);
extern MagickExport unsigned long
GetImageChannelDepth(const Image *,const ChannelType,ExceptionInfo *),
GetImageDepth(const Image *,ExceptionInfo *),
GetImageQuantumDepth(const Image *,const MagickBooleanType);}

View File

@ -0,0 +1,88 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick image type methods.
}
type
StretchType = (
UndefinedStretch,
NormalStretch,
UltraCondensedStretch,
ExtraCondensedStretch,
CondensedStretch,
SemiCondensedStretch,
SemiExpandedStretch,
ExpandedStretch,
ExtraExpandedStretch,
UltraExpandedStretch,
AnyStretch
);
type
StyleType = (
UndefinedStyle,
NormalStyle,
ItalicStyle,
ObliqueStyle,
AnyStyle
);
type
TypeInfo = record
face: Cardinal;
path,
name,
description,
family: PChar;
style: StyleType;
stretch: StretchType;
weight: Cardinal;
encoding,
foundry,
format,
metrics,
glyphs: PChar;
stealth: MagickBooleanType;
previous, next: Pointer;
{ struct _TypeInfo
*previous,
*next; /* deprecated, use GetTypeInfoList() */}
signature: Cardinal;
end;
{function GetTypeList(const char *,unsigned long *,ExceptionInfo *): PPChar; external MagickExport;
extern MagickExport MagickBooleanType
ListTypeInfo(FILE *,ExceptionInfo *);
extern MagickExport const TypeInfo
*GetTypeInfo(const char *,ExceptionInfo *),
*GetTypeInfoByFamily(const char *,const StyleType,const StretchType,
const unsigned long,ExceptionInfo *),
**GetTypeInfoList(const char *,unsigned long *,ExceptionInfo *);
MagickExport void
DestroyTypeList(void);}

View File

@ -0,0 +1,283 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick drawing wand API.
}
{
Declaration from drawing-wand.c
}
type
PathOperation = (
PathDefaultOperation,
PathCloseOperation, // Z|z (none) */
PathCurveToOperation, // C|c (x1 y1 x2 y2 x y)+ */
PathCurveToQuadraticBezierOperation, // Q|q (x1 y1 x y)+ */
PathCurveToQuadraticBezierSmoothOperation, // T|t (x y)+ */
PathCurveToSmoothOperation, // S|s (x2 y2 x y)+ */
PathEllipticArcOperation, // A|a (rx ry x-axis-rotation large-arc-flag sweep-flag x y)+ */
PathLineToHorizontalOperation, // H|h x+ */
PathLineToOperation, // L|l (x y)+ */
PathLineToVerticalOperation, // V|v y+ */
PathMoveToOperation // M|m (x y)+ */
);
type
PathMode = (
DefaultPathMode,
AbsolutePathMode,
RelativePathMode
);
DrawingWand = record
id: Cardinal;
name: array[0..MaxTextExtent] of Char;
{ Support structures }
image: PImage;
exception: ExceptionInfo;
{ MVG output string and housekeeping }
mvg: PChar; // MVG data
mvg_alloc, // total allocated memory
// mvg_length: size_t; // total MVG length
mvg_width: Cardinal; // current line width
{ Pattern support }
pattern_id: PChar;
pattern_bounds: RectangleInfo;
// pattern_offset: size_t;
{ Graphic wand }
index: Cardinal; // array index
graphic_context: PPDrawInfo;
filter_off: MagickBooleanType; // true if not filtering attributes
{ Pretty-printing depth }
indent_depth: Cardinal; // number of left-hand pad characters
{ Path operation support }
path_operation: PathOperation;
path_mode: PathMode;
destroy,
debug: MagickBooleanType;
signature: Cardinal;
end;
PDrawingWand = ^DrawingWand;
const x = 9;
function DrawGetTextAlignment(const wand: PDrawingWand): AlignType; cdecl; external WandExport;
function DrawGetClipPath(const wand: PDrawingWand): PChar; cdecl; external WandExport;
function DrawGetException(const wand: PDrawingWand; severity: PExceptionType): PChar; cdecl; external WandExport;
function DrawGetFont(const wand: PDrawingWand): PChar; cdecl; external WandExport;
function DrawGetFontFamily(const wand: PDrawingWand): PChar; cdecl; external WandExport;
function DrawGetTextEncoding(const wand: PDrawingWand): PChar; cdecl; external WandExport;
function DrawGetVectorGraphics(const wand: PDrawingWand): PChar; cdecl; external WandExport;
function DrawGetClipUnits(const wand: PDrawingWand): ClipPathUnits; external WandExport;
function DrawGetTextDecoration(const wand: PDrawingWand): DecorationType; external WandExport;
function DrawGetFillAlpha(const wand: PDrawingWand): double; cdecl; external WandExport;
function DrawGetFontSize(const wand: PDrawingWand): double; cdecl; external WandExport;
function DrawGetStrokeDashArray(const wand: PDrawingWand; number_elements: Cardinal): PDouble; cdecl; external WandExport;
function DrawGetStrokeDashOffset(const wand: PDrawingWand): double; cdecl; external WandExport;
function DrawGetStrokeAlpha(const wand: PDrawingWand): double; cdecl; external WandExport;
function DrawGetStrokeWidth(const wand: PDrawingWand): double; cdecl; external WandExport;
function PeekDrawingWand(const wand: PDrawingWand): PDrawInfo; cdecl; external WandExport;
function CloneDrawingWand(const wand: PDrawingWand): PDrawingWand; cdecl; external WandExport;
function DestroyDrawingWand(wand: PDrawingWand): PDrawingWand; cdecl; external WandExport;
{ Sem documentação
function DrawAllocateWand(const DrawInfo *,Image *): PDrawingWand; external WandExport;
}
function NewDrawingWand: PDrawingWand; cdecl; external WandExport;
function DrawGetClipRule(const wand: PDrawingWand): FillRule; cdecl; external WandExport;
function DrawGetFillRule(const wand: PDrawingWand): FillRule; cdecl; external WandExport;
function DrawGetGravity(const wand: PDrawingWand): GravityType; cdecl; external WandExport;
function DrawGetStrokeLineCap(const wand: PDrawingWand): LineCap; cdecl; external WandExport;
function DrawGetStrokeLineJoin(const wand: PDrawingWand): LineJoin; cdecl; external WandExport;
function DrawClearException(wand: PDrawingWand): MagickBooleanType; cdecl; external WandExport;
function DrawComposite(wand: PDrawingWand; const compose: CompositeOperator;
const x, y, width, height: double; magick_wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function DrawGetStrokeAntialias(const wand: PDrawingWand): MagickBooleanType; cdecl; external WandExport;
function DrawGetTextAntialias(const wand: PDrawingWand): MagickBooleanType; cdecl; external WandExport;
function DrawPopPattern(wand: PDrawingWand): MagickBooleanType; cdecl; external WandExport;
function DrawPushPattern(wand: PDrawingWand; const pattern_id: PChar;
const x, y, width, height: double): MagickBooleanType; cdecl; external WandExport;
function DrawRender(wand: PDrawingWand): MagickBooleanType; cdecl; external WandExport;
function DrawSetClipPath(wand: PDrawingWand; const clip_path: PChar): MagickBooleanType; cdecl; external WandExport;
function DrawSetFillPatternURL(wand: PDrawingWand; const fill_url: PChar): MagickBooleanType; cdecl; external WandExport;
function DrawSetFont(wand: PDrawingWand; const font_name: PChar): MagickBooleanType; cdecl; external WandExport;
function DrawSetFontFamily(wand: PDrawingWand; const font_family: PChar): MagickBooleanType; cdecl; external WandExport;
function DrawSetStrokeDashArray(wand: PDrawingWand; const number_elements: Cardinal;
const dash_array: Pdouble): MagickBooleanType; cdecl; external WandExport;
function DrawSetStrokePatternURL(wand: PDrawingWand; const stroke_url: PChar): MagickBooleanType; cdecl; external WandExport;
function DrawSetVectorGraphics(wand: PDrawingWand; const xml: PChar): MagickBooleanType; cdecl; external WandExport;
function IsDrawingWand(const wand: PDrawingWand): MagickBooleanType; cdecl; external WandExport;
function PopDrawingWand(wand: PDrawingWand): MagickBooleanType; cdecl; external WandExport;
function PushDrawingWand(wand: PDrawingWand): MagickBooleanType; cdecl; external WandExport;
function DrawGetFontStretch(const wand: PDrawingWand): StretchType; cdecl; external WandExport;
function DrawGetFontStyle(const wand: PDrawingWand): StyleType; cdecl; external WandExport;
function DrawGetFontWeight(const wand: PDrawingWand): Cardinal; cdecl; external WandExport;
function DrawGetStrokeMiterLimit(const wand: PDrawingWand): Cardinal; cdecl; external WandExport;
procedure ClearDrawingWand(wand: PDrawingWand); cdecl; external WandExport;
procedure DrawAffine(wand: PDrawingWand; const affine: PAffineMatrix); cdecl; external WandExport;
procedure DrawAnnotation(wand: PDrawingWand; const x, y: double;
const text: PChar); cdecl; external WandExport;
procedure DrawArc(wand: PDrawingWand; const sx, sy, ex, ey, sd, ed: double); cdecl; external WandExport;
procedure DrawBezier(wand: PDrawingWand; const number_coordinates: Cardinal;
const coordinates: PPointInfo); cdecl; external WandExport;
procedure DrawCircle(wand: PDrawingWand; const ox, oy, px, py: double); cdecl; external WandExport;
procedure DrawColor(wand: PDrawingWand; const x, y: double;
const paint_method: PaintMethod); cdecl; external WandExport;
procedure DrawComment(wand: PDrawingWand; const comment: PChar); cdecl; external WandExport;
procedure DrawEllipse(wand: PDrawingWand; const ox, oy, rx, ry, start, end_: double); cdecl; external WandExport;
procedure DrawGetFillColor(const wand: PDrawingWand; fill_color: PPixelWand); cdecl; external WandExport;
procedure DrawGetStrokeColor(const wand: PDrawingWand; stroke_color: PPixelWand); cdecl; external WandExport;
procedure DrawGetTextUnderColor(const wand: PDrawingWand; under_color: PPixelWand); cdecl; external WandExport;
procedure DrawLine(wand: PDrawingWand; const sx, sy, ex, ey: double); cdecl; external WandExport;
procedure DrawMatte(wand: PDrawingWand; const x, y: double;
const paint_method: PaintMethod); cdecl; external WandExport;
procedure DrawPathClose(wand: PDrawingWand); cdecl; external WandExport;
procedure DrawPathCurveToAbsolute(wand: PDrawingWand;
const x1, y1, x2, y2, x, y: double); cdecl; external WandExport;
procedure DrawPathCurveToRelative(wand: PDrawingWand;
const x1, y1, x2, y2, x, y: double); cdecl; external WandExport;
procedure DrawPathCurveToQuadraticBezierAbsolute(wand: PDrawingWand;
const x1, y1, x, y: double); cdecl; external WandExport;
procedure DrawPathCurveToQuadraticBezierRelative(wand: PDrawingWand;
const x1, y1, x, y: double); cdecl; external WandExport;
procedure DrawPathCurveToQuadraticBezierSmoothAbsolute(wand: PDrawingWand;
const x, y: double); cdecl; external WandExport;
procedure DrawPathCurveToQuadraticBezierSmoothRelative(wand: PDrawingWand;
const x, y: double); cdecl; external WandExport;
procedure DrawPathCurveToSmoothAbsolute(wand: PDrawingWand;
const x2, y2, x, y: double); cdecl; external WandExport;
procedure DrawPathCurveToSmoothRelative(wand: PDrawingWand;
const x2, y2, x, y: double); cdecl; external WandExport;
procedure DrawPathEllipticArcAbsolute(wand: PDrawingWand;
const rx, ry, x_axis_rotation: double;
const large_arc_flag: MagickBooleanType;
const sweep_flag: MagickBooleanType; const x, y: double); cdecl; external WandExport;
procedure DrawPathEllipticArcRelative(wand: PDrawingWand;
const rx, ry, x_axis_rotation: double;
const large_arc_flag: MagickBooleanType;
const sweep_flag: MagickBooleanType; const x, y: double); cdecl; external WandExport;
procedure DrawPathFinish(wand: PDrawingWand); cdecl; external WandExport;
procedure DrawPathLineToAbsolute(wand: PDrawingWand; const x, y: double); cdecl; external WandExport;
procedure DrawPathLineToRelative(wand: PDrawingWand; const x, y: double); cdecl; external WandExport;
{procedure DrawPathLineToHorizontalAbsolute(wand: PDrawingWand;
const mode: PathMode; const x: double); cdecl; external WandExport;
procedure DrawPathLineToHorizontalRelative(wand: PDrawingWand); cdecl; external WandExport;
Contradição na declaração
}
procedure DrawPathLineToVerticalAbsolute(wand: PDrawingWand; const y: double); cdecl; external WandExport;
procedure DrawPathLineToVerticalRelative(wand: PDrawingWand; const y: double); cdecl; external WandExport;
procedure DrawPathMoveToAbsolute(wand: PDrawingWand; const x, y: double); cdecl; external WandExport;
procedure DrawPathMoveToRelative(wand: PDrawingWand; const x, y: double); cdecl; external WandExport;
procedure DrawPathStart(wand: PDrawingWand); cdecl; external WandExport;
procedure DrawPoint(wand: PDrawingWand; const x, y: double); cdecl; external WandExport;
procedure DrawPolygon(wand: PDrawingWand; const number_coordinates: Cardinal; const coordinates: PPointInfo
); cdecl; external WandExport;
procedure DrawPolyline(wand: PDrawingWand; const number_coordinates: Cardinal; const coordinates: PPointInfo
); cdecl; external WandExport;
procedure DrawPopClipPath(wand: PDrawingWand); cdecl; external WandExport;
procedure DrawPopDefs(wand: PDrawingWand); cdecl; external WandExport;
procedure DrawPushClipPath(wand: PDrawingWand; clip_path_id: PChar); cdecl; external WandExport;
procedure DrawPushDefs(wand: PDrawingWand); cdecl; external WandExport;
procedure DrawRectangle(wand: PDrawingWand; const x1, y1, x2, y2: double); cdecl; external WandExport;
procedure DrawRotate(wand: PDrawingWand; const degrees: double); cdecl; external WandExport;
procedure DrawRoundRectangle(wand: PDrawingWand; const x1, y1, x2, y2, rx, ry: double); cdecl; external WandExport;
procedure DrawScale(wand: PDrawingWand; const x, y: double); cdecl; external WandExport;
procedure DrawSetClipRule(wand: PDrawingWand; const fill_rule: FillRule); cdecl; external WandExport;
procedure DrawSetClipUnits(wand: PDrawingWand; const clip_units: ClipPathUnits); cdecl; external WandExport;
procedure DrawSetFillColor(wand: PDrawingWand; const fill_wand: PPixelWand); cdecl; external WandExport;
procedure DrawSetFillAlpha(wand: PDrawingWand; const fill_opacity: double); cdecl; external WandExport;
procedure DrawSetFillRule(wand: PDrawingWand; const fill_rule: FillRule); cdecl; external WandExport;
procedure DrawSetFontSize(wand: PDrawingWand; const pointsize: double); cdecl; external WandExport;
procedure DrawSetFontStretch(wand: PDrawingWand; const font_stretch: StretchType); cdecl; external WandExport;
procedure DrawSetFontStyle(wand: PDrawingWand; const style: StyleType); cdecl; external WandExport;
procedure DrawSetFontWeight(wand: PDrawingWand; const font_weight: Cardinal); cdecl; external WandExport;
procedure DrawSetGravity(wand: PDrawingWand; const gravity: GravityType); cdecl; external WandExport;
procedure DrawSkewX(wand: PDrawingWand; const degrees: double); cdecl; external WandExport;
procedure DrawSkewY(wand: PDrawingWand; const degrees: double); cdecl; external WandExport;
procedure DrawSetStrokeAntialias(wand: PDrawingWand; const stroke_antialias: MagickBooleanType
); cdecl; external WandExport;
procedure DrawSetStrokeColor(wand: PDrawingWand; const stroke_wand: PPixelWand); cdecl; external WandExport;
procedure DrawSetStrokeDashOffset(wand: PDrawingWand; const dash_offset: double); cdecl; external WandExport;
procedure DrawSetStrokeLineCap(wand: PDrawingWand; const linecap_: LineCap); cdecl; external WandExport;
procedure DrawSetStrokeLineJoin(wand: PDrawingWand; const linejoin_: LineJoin); cdecl; external WandExport;
procedure DrawSetStrokeMiterLimit(wand: PDrawingWand; const miterlimit: Cardinal); cdecl; external WandExport;
procedure DrawSetStrokeAlpha(wand: PDrawingWand; const stroke_opacity: double); cdecl; external WandExport;
procedure DrawSetStrokeWidth(wand: PDrawingWand; const troke_width: double); cdecl; external WandExport;
procedure DrawSetTextAlignment(wand: PDrawingWand; const alignment: AlignType); cdecl; external WandExport;
procedure DrawSetTextAntialias(wand: PDrawingWand; const text_antialias: MagickBooleanType
); cdecl; external WandExport;
procedure DrawSetTextDecoration(wand: PDrawingWand; const decoration: DecorationType); cdecl; external WandExport;
procedure DrawSetTextEncoding(wand: PDrawingWand; const encoding: PChar); cdecl; external WandExport;
procedure DrawSetTextUnderColor(wand: PDrawingWand; const under_wand: PPixelWand); cdecl; external WandExport;
procedure DrawSetViewbox(wand: PDrawingWand; x1, y1, x2, y2: Cardinal); cdecl; external WandExport;
procedure DrawTranslate(wand: PDrawingWand; const x, y: double); cdecl; external WandExport;
{
Deprecated.
}
{typedef struct _DrawingWand
*DrawContext;
extern WandExport double
DrawGetFillOpacity(const wand: PDrawingWand),
DrawGetStrokeOpacity(const wand: PDrawingWand);
extern WandExport DrawInfo
*DrawPeekGraphicWand(const wand: PDrawingWand);
extern WandExport void
DrawPopGraphicContext(DrawingWand *),
DrawPushGraphicContext(DrawingWand *),
DrawSetFillOpacity(DrawingWand *,const double),
DrawSetStrokeOpacity(DrawingWand *,const double);}

View File

@ -0,0 +1,80 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Set or Get Magick Wand Attributes.
}
function MagickGetException(wand: PMagickWand;
severity: PExceptionType): PChar; cdecl; external WandExport;
function MagickGetFilename(const wand: PMagickWand): PChar; cdecl; external WandExport;
function MagickGetFormat(wand: PMagickWand): PChar; cdecl; external WandExport;
function MagickGetHomeURL: PChar; cdecl; external WandExport;
function MagickGetOption(wand: PMagickWand;
const key: PChar): PChar; cdecl; external WandExport;
{sem documentação
extern WandExport char
*MagickQueryConfigureOption(const char *),
**MagickQueryConfigureOptions(const char *,unsigned long *),
**MagickQueryFonts(const char *,unsigned long *),
**MagickQueryFormats(const char *,unsigned long *);}
function MagickGetCompression(wand: PMagickWand): CompressionType; cdecl; external WandExport;
function MagickGetCopyright: PChar; cdecl; external WandExport;
function MagickGetPackageName: PChar; cdecl; external WandExport;
function MagickGetQuantumDepth(depth: PCardinal): PChar; cdecl; external WandExport;
function MagickGetQuantumRange(range: PCardinal): PChar; cdecl; external WandExport;
function MagickGetReleaseDate: PChar; cdecl; external WandExport;
function MagickGetVersion(version: PCardinal): PChar; cdecl; external WandExport;
function MagickGetSamplingFactors(wand: PMagickWand;
number_factors: PCardinal): Pdouble; cdecl; external WandExport;
{function (wand: PMagickWand): Pdouble; cdecl; external WandExport;
*MagickQueryFontMetrics(MagickWand *,const DrawingWand *,const char *),
*MagickQueryMultilineFontMetrics(MagickWand *,const DrawingWand *,
const char *);}
function MagickGetInterlaceScheme(wand: PMagickWand): InterlaceType; cdecl; external WandExport;
{function (const wand: PMagickWand): ; cdecl; external WandExport;
extern WandExport MagickBooleanType
MagickGetPage(MagickWand *,unsigned long *,unsigned long *,long *,long *),
MagickGetSize(const MagickWand *,unsigned long *,unsigned long *),
MagickSetBackgroundColor(MagickWand *,const PixelWand *),
MagickSetCompression(MagickWand *,const CompressionType),
MagickSetCompressionQuality(MagickWand *,const unsigned long),
MagickSetFilename(MagickWand *,const char *),
MagickSetFormat(MagickWand *,const char *),
MagickSetInterlaceScheme(MagickWand *,const InterlaceType),
MagickSetOption(MagickWand *,const char *,const char *),
MagickSetPage(MagickWand *,const unsigned long,const unsigned long,
const long,const long),
MagickSetPassphrase(MagickWand *,const char *),
MagickSetResolution(MagickWand *,const double,const double),
MagickSetResourceLimit(const ResourceType type,const unsigned long limit),
MagickSetSamplingFactors(MagickWand *,const unsigned long,const double *),
MagickSetSize(MagickWand *,const unsigned long,const unsigned long),
MagickSetType(MagickWand *,const ImageType);
function (const wand: PMagickWand): ; cdecl; external WandExport;
extern WandExport MagickProgressMonitor
MagickSetProgressMonitor(MagickWand *,const MagickProgressMonitor,void *);
function (const wand: PMagickWand): ; cdecl; external WandExport;
extern WandExport unsigned long
MagickGetCompressionQuality(MagickWand *),
MagickGetResource(const ResourceType),
MagickGetResourceLimit(const ResourceType);}

View File

@ -0,0 +1,417 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Magick Wand Image Methods.
}
function MagickGetImageChannelStatistics(wand: PMagickWand): PChannelStatistics; cdecl; external WandExport;
function MagickGetImageAttribute(wand: PMagickWand): PChar; cdecl; external WandExport;
function MagickGetImageFilename(wand: PMagickWand): PChar; cdecl; external WandExport;
function MagickGetImageFormat(wand: PMagickWand): PChar; cdecl; external WandExport;
function MagickGetImageSignature(wand: PMagickWand): PChar; cdecl; external WandExport;
function MagickIdentifyImage(wand: PMagickWand): PChar; cdecl; external WandExport;
function MagickGetImageCompose(wand: PMagickWand): CompositeOperator; cdecl; external WandExport;
function MagickGetImageColorspace(wand: PMagickWand): ColorspaceType; cdecl; external WandExport;
function MagickGetImageCompression(wand: PMagickWand): CompressionType; cdecl; external WandExport;
function MagickGetImageDispose(wand: PMagickWand): DisposeType; cdecl; external WandExport;
function MagickGetImageGamma(wand: PMagickWand): double; cdecl; external WandExport;
function MagickGetImageTotalInkDensity(wand: PMagickWand): double; cdecl; external WandExport;
function GetImageFromMagickWand(wand: PMagickWand): PImage; cdecl; external WandExport;
function MagickGetImageType(wand: PMagickWand): ImageType; cdecl; external WandExport;
function MagickGetImageInterlaceScheme(wand: PMagickWand): InterlaceType; cdecl; external WandExport;
function MagickGetImageIndex(wand: PMagickWand): Integer; cdecl; external WandExport;
function MagickAdaptiveThresholdImage(wand: PMagickWand;
const width, height: Cardinal; const offset: Integer): MagickBooleanType; cdecl; external WandExport;
function MagickAddImage(wand: PMagickWand; const add_wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickAddNoiseImage(wand: PMagickWand; const noise_type: NoiseType): MagickBooleanType; cdecl; external WandExport;
function MagickAffineTransformImage(wand: PMagickWand;
const drawing_wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickAnnotateImage(wand: PMagickWand;
const drawing_wand: PMagickWand; const x, y, angle: double;
const text: PChar): MagickBooleanType; cdecl; external WandExport;
function MagickAnimateImages(wand: PMagickWand;
const server_name: PChar): MagickBooleanType; cdecl; external WandExport;
function MagickBlackThresholdImage(wand: PMagickWand;
const threshold: PPixelWand): MagickBooleanType; cdecl; external WandExport;
function MagickBlurImage(wand: PMagickWand;
const radius, sigma: double): MagickBooleanType; cdecl; external WandExport;
function MagickBlurImageChannel(wand: PMagickWand;
const channel: ChannelType; const radius, sigma: double): MagickBooleanType; cdecl; external WandExport;
function MagickBorderImage(wand: PMagickWand;
const bordercolor: PPixelWand; const width, height: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickCharcoalImage(wand: PMagickWand;
const radius, sigma: double): MagickBooleanType; cdecl; external WandExport;
function MagickChopImage(wand: PMagickWand;
const width, height: Cardinal; const x, y: Integer): MagickBooleanType; cdecl; external WandExport;
function MagickClipImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickClipPathImage(wand: PMagickWand;
const pathname: PChar; const inside: MagickBooleanType): MagickBooleanType; cdecl; external WandExport;
function MagickColorFloodfillImage(wand: PMagickWand;
const fill: PPixelWand; const fuzz: double; const bordercolor: PPixelWand;
const x, y: Integer): MagickBooleanType; cdecl; external WandExport;
function MagickColorizeImage(wand: PMagickWand;
const colorize, opacity: PPixelWand): MagickBooleanType; cdecl; external WandExport;
function MagickCommentImage(wand: PMagickWand;
const comment: PChar): MagickBooleanType; cdecl; external WandExport;
function MagickCompositeImage(wand: PMagickWand;
const composite_wand: MagickWand; const compose: CompositeOperator;
const x, y: Integer): MagickBooleanType; cdecl; external WandExport;
function MagickConstituteImage(wand: PMagickWand;
const columns, rows: Cardinal; const map: PChar;
const storage: StorageType; pixels: Pointer): MagickBooleanType; cdecl; external WandExport;
function MagickContrastImage(wand: PMagickWand;
const sharpen: MagickBooleanType): MagickBooleanType; cdecl; external WandExport;
function MagickConvolveImage(wand: PMagickWand;
const order: Cardinal; const kernel: PDouble): MagickBooleanType; cdecl; external WandExport;
function MagickConvolveImageChannel(wand: PMagickWand;
const channel: ChannelType; const order: Cardinal;
const kernel: PDouble): MagickBooleanType; cdecl; external WandExport;
function MagickCropImage(wand: PMagickWand;
const width, height: Cardinal; const x, y: Integer): MagickBooleanType; cdecl; external WandExport;
function MagickCycleColormapImage(wand: PMagickWand;
const displace: Integer): MagickBooleanType; cdecl; external WandExport;
function MagickDespeckleImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickDisplayImage(wand: PMagickWand;
const server_name: PChar): MagickBooleanType; cdecl; external WandExport;
function MagickDisplayImages(wand: PMagickWand;
const server_name: PChar): MagickBooleanType; cdecl; external WandExport;
function MagickDrawImage(wand: PMagickWand;
const drawing_wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickEdgeImage(wand: PMagickWand;
const radius: double): MagickBooleanType; cdecl; external WandExport;
function MagickEmbossImage(wand: PMagickWand;
const radius, sigma: double): MagickBooleanType; cdecl; external WandExport;
function MagickEnhanceImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickEqualizeImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickEvaluateImage(wand: PMagickWand;
const op: MagickEvaluateOperator; const constant: double): MagickBooleanType; cdecl; external WandExport;
function MagickEvaluateImageChannel(wand: PMagickWand;
const op: MagickEvaluateOperator; const constant: double): MagickBooleanType; cdecl; external WandExport;
function MagickFlipImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickFlopImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickFrameImage(wand: PMagickWand;
const matte_color: PPixelWand; const width, height: Cardinal;
const inner_bevel, outer_bevel: Integer): MagickBooleanType; cdecl; external WandExport;
function MagickGammaImage(wand: PMagickWand; const gamma: double): MagickBooleanType; cdecl; external WandExport;
function MagickGammaImageChannel(wand: PMagickWand;
const channel: ChannelType; const gamma: double): MagickBooleanType; cdecl; external WandExport;
function MagickGaussianBlurImage(wand: PMagickWand;
const radius, sigma: double): MagickBooleanType; cdecl; external WandExport;
function MagickGaussianBlurImageChannel(wand: PMagickWand;
const channel: ChannelType; const radius, sigma: double): MagickBooleanType; cdecl; external WandExport;
function MagickGetImageBackgroundColor(wand: PMagickWand;
background_color: PPixelWand): MagickBooleanType; cdecl; external WandExport;
function MagickGetImageBluePrimary(wand: PMagickWand; x, y: Pdouble): MagickBooleanType; cdecl; external WandExport;
function MagickGetImageBorderColor(wand: PMagickWand; border_color: PPixelWand
): MagickBooleanType; cdecl; external WandExport;
function MagickGetImageChannelDistortion(wand: PMagickWand;
const reference: PMagickWand; const channel: ChannelType;
const metric: MetricType; distortion: Pdouble): MagickBooleanType; cdecl; external WandExport;
function MagickGetImageDistortion(wand: PMagickWand;
const reference: PMagickWand; const metric: MetricType;
distortion: Pdouble): MagickBooleanType; cdecl; external WandExport;
function MagickGetImageChannelExtrema(wand: PMagickWand;
const channel: ChannelType; minima, maxima: PCardinal): MagickBooleanType; cdecl; external WandExport;
function MagickGetImageChannelMean(wand: PMagickWand;
const channel: ChannelType; mean, standard_deviation: Pdouble): MagickBooleanType; cdecl; external WandExport;
function MagickGetImageColormapColor(wand: PMagickWand;
const index: Cardinal; color: PPixelWand): MagickBooleanType; cdecl; external WandExport;
function MagickGetImageExtrema(wand: PMagickWand;
min, max: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickGetImageGreenPrimary(wand: PMagickWand; x, y: Pdouble): MagickBooleanType; external WandExport;
function MagickGetImageMatteColor(wand: PMagickWand;
matte_color: PPixelWand): MagickBooleanType; cdecl; external WandExport;
function MagickGetImagePage(wand: PMagickWand;
width, height: PCardinal; x, y: Integer): MagickBooleanType; cdecl; external WandExport;
function MagickGetImagePixelColor(wand: PMagickWand;
const x, y: Integer; color: PPixelWand): MagickBooleanType; cdecl; external WandExport;
function MagickGetImagePixels(wand: PMagickWand;
const x, y: Integer; const columns, rows: Cardinal;
const map: PChar; const storage: StorageType; pixels: Pointer): MagickBooleanType; cdecl; external WandExport;
function MagickGetImageRedPrimary(wand: PMagickWand; x, y: Pdouble): MagickBooleanType; cdecl; external WandExport;
function MagickGetImageResolution(wand: PMagickWand; x, y: Pdouble): MagickBooleanType; cdecl; external WandExport;
function MagickGetImageWhitePoint(wand: PMagickWand; x, y: Pdouble): MagickBooleanType; cdecl; external WandExport;
function MagickHasNextImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickHasPreviousImage(wand: PMagickWand): MagickBooleanType; external WandExport;
function MagickImplodeImage(wand: PMagickWand; const radius: double): MagickBooleanType; cdecl; external WandExport;
function MagickLabelImage(wand: PMagickWand; const _label: PChar): MagickBooleanType; cdecl; external WandExport;
function MagickLevelImage(wand: PMagickWand;
const black_point, gamma, white_point: double): MagickBooleanType; cdecl; external WandExport;
function MagickLevelImageChannel(wand: PMagickWand;
const channel: ChannelType; const black_point, gamma, white_point: double
): MagickBooleanType; cdecl; external WandExport;
function MagickMagnifyImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickMapImage(wand: PMagickWand;
const map_wand: PMagickWand; const dither: MagickBooleanType): MagickBooleanType; cdecl; external WandExport;
function MagickMatteFloodfillImage(wand: PMagickWand;
const opacity: Quantum; const fuzz: double; const bordercolor: PPixelWand;
const x, y: Integer): MagickBooleanType; cdecl; external WandExport;
function MagickMedianFilterImage(wand: PMagickWand; const radius: double): MagickBooleanType; cdecl; external WandExport;
function MagickMinifyImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickModulateImage(wand: PMagickWand;
const brightness, saturation, hue: double): MagickBooleanType; cdecl; external WandExport;
function MagickMotionBlurImage(wand: PMagickWand;
const radius, sigma, angle: double): MagickBooleanType; cdecl; external WandExport;
function MagickNegateImage(wand: PMagickWand; const gray: MagickBooleanType): MagickBooleanType; cdecl; external WandExport;
{
function MagickNegateImageChannel(wand: PMagickWand): MagickBooleanType; external WandExport;
(MagickWand *,const ChannelType,
const MagickBooleanType),
Documentation not found
}
function MagickNewImage(wand: PMagickWand;
const columns, rows: Cardinal; const background: PPixelWand): MagickBooleanType; external WandExport;
function MagickNextImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickNormalizeImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickOilPaintImage(wand: PMagickWand; const radius: double): MagickBooleanType; cdecl; external WandExport;
function MagickPaintOpaqueImage(wand: PMagickWand;
const target, fill: PPixelWand; const fuzz: double): MagickBooleanType; external WandExport;
function MagickPaintTransparentImage(wand: PMagickWand;
const target: PPixelWand; const opacity: Quantum; const fuzz: double): MagickBooleanType; external WandExport;
function MagickPingImage(wand: PMagickWand;
const filename: PChar): MagickBooleanType; cdecl; external WandExport;
{
function MagickPosterizeImage(wand: PMagickWand;
const levels: Word; const dither: MagickBooleanType): MagickBooleanType; external WandExport;
??
}
function MagickPreviousImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickProfileImage(wand: PMagickWand; const name: PChar;
const profile: PChar; const length: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickQuantizeImage(wand: PMagickWand;
const number_colors: Cardinal; const colorspace: ColorspaceType;
const treedepth: Cardinal; const dither, measure_error): MagickBooleanType; cdecl; external WandExport;
function MagickQuantizeImages(wand: PMagickWand;
const number_colors: Cardinal; const colorspace: ColorspaceType;
const treedepth: Cardinal; const dither: MagickBooleanType;
const measure_error: MagickBooleanType): MagickBooleanType; cdecl; external WandExport;
function MagickRadialBlurImage(wand: PMagickWand; const angle: double): MagickBooleanType; external WandExport;
function MagickRadialBlurImageChannel(wand: PMagickWand;
const channel: ChannelType; const angle: double): MagickBooleanType; cdecl; external WandExport;
function MagickRaiseImage(wand: PMagickWand;
const width, height: Cardinal; const x, y: Integer;
const raise_: MagickBooleanType): MagickBooleanType; cdecl; external WandExport;
function MagickReadImage(wand: PMagickWand; const filename: PChar
): MagickBooleanType; cdecl; external WandExport;
function MagickReadImageBlob(wand: PMagickWand;
const blob: Pointer; const length: Integer): MagickBooleanType; cdecl; external WandExport;
//function MagickReadImageFile(wand: PMagickWand; file_: file): MagickBooleanType; external WandExport;
function MagickReduceNoiseImage(wand: PMagickWand; const radius: double): MagickBooleanType; external WandExport;
function MagickRemoveImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickResampleImage(wand: PMagickWand;
const x_resolution, y_resolution: double;
const filter: FilterTypes; const blur: double): MagickBooleanType; cdecl; external WandExport;
function MagickResizeImage(wand: PMagickWand;
const columns, rows: Cardinal; const filter: FilterTypes;
const blur: double): MagickBooleanType; cdecl; external WandExport;
function MagickRollImage(wand: PMagickWand;
const x: Integer; const y: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickRotateImage(wand: PMagickWand; const background: PPixelWand;
const degrees: double): MagickBooleanType; cdecl; external WandExport;
function MagickSampleImage(wand: PMagickWand; const columns, rows: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickScaleImage(wand: PMagickWand; const columns, rows: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickSeparateImageChannel(wand: PMagickWand; const channel: ChannelType): MagickBooleanType; cdecl; external WandExport;
// MagickSepiaToneImage(MagickWand *,const double),
function MagickSetImage(wand: PMagickWand; const set_wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageAttribute(wand: PMagickWand; const key, attribute: PChar): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageBackgroundColor(wand: PMagickWand; const background: PPixelWand): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageBias(wand: PMagickWand; const bias: double): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageBluePrimary(wand: PMagickWand; const x, y: double): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageBorderColor(wand: PMagickWand; const border: PPixelWand): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageChannelDepth(wand: PMagickWand; const channel: ChannelType; const depth: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageColormapColor(wand: PMagickWand; const index: Cardinal; const color: PPixelWand): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageColorspace(wand: PMagickWand; const colorspace: ColorspaceType): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageCompose(wand: PMagickWand; const compose: CompositeOperator): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageCompression(wand: PMagickWand; const compression: CompressionType): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageCompressionQuality(wand: PMagickWand; const quality: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageDelay(wand: PMagickWand; const delay: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageDepth(wand: PMagickWand; const depth: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageDispose(wand: PMagickWand; const dispose: DisposeType): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageExtent(wand: PMagickWand; const columns, rows: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageFilename(wand: PMagickWand; const filename: PChar): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageFormat(wand: PMagickWand; const format: PChar): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageGamma(wand: PMagickWand; const gamma: Double): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageGreenPrimary(wand: PMagickWand; const x, y: Double): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageIndex(wand: PMagickWand; const index: Integer): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageInterlaceScheme(wand: PMagickWand; const interlace_scheme: InterlaceType): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageIterations(wand: PMagickWand; const iterations: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageMatteColor(wand: PMagickWand; const matte: PPixelWand): MagickBooleanType; cdecl; external WandExport;
function MagickSetImagePage(wand: PMagickWand; const width, height: Cardinal; const x, y: Integer): MagickBooleanType; cdecl; external WandExport;
function MagickSetImagePixels(wand: PMagickWand; const x, y: Integer; const columns, rows: Cardinal;
const map: PChar; const storage: StorageType; const pixels: Pointer): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageProfile(wand: PMagickWand; const name: PChar; const profile: Pointer;
const length: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageRedPrimary(wand: PMagickWand; const x, y: Double): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageRenderingIntent(wand: PMagickWand; const rendering_intent: RenderingIntent
): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageResolution(wand: PMagickWand; const x_resolution, y_resolution: double
): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageScene(wand: PMagickWand; const scene: Cardinal): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageType(wand: PMagickWand; const image_type: ImageType
): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageUnits(wand: PMagickWand; const units: ResolutionType
): MagickBooleanType; cdecl; external WandExport;
//function MagickSetImageVirtualPixelMethod(wand: PMagickWand;
// const method: VirtualPixelMethod): MagickBooleanType; cdecl; external WandExport;
function MagickSetImageWhitePoint(wand: PMagickWand; const x, y: double
): MagickBooleanType; cdecl; external WandExport;
function MagickShadowImage(wand: PMagickWand; const radius, sigma: double; const x, y: Integer
): MagickBooleanType; cdecl; external WandExport;
function MagickSharpenImage(wand: PMagickWand; const radius, sigma: double
): MagickBooleanType; cdecl; external WandExport;
function MagickSharpenImageChannel(wand: PMagickWand; const channel: ChannelType;
const radius, sigma: double): MagickBooleanType; cdecl; external WandExport;
function MagickShaveImage(wand: PMagickWand; const columns, rows: Cardinal
): MagickBooleanType; cdecl; external WandExport;
function MagickShearImage(wand: PMagickWand; const background: PPixelWand;
const x_shear, y_shear: double): MagickBooleanType; cdecl; external WandExport;
function MagickSigmoidalContrastImage(wand: PMagickWand;
const sharpen: MagickBooleanType; const alpha, beta: double
): MagickBooleanType; cdecl; external WandExport;
function MagickSigmoidalContrastImageChannel(wand: PMagickWand;
const channel: ChannelType; const sharpen: MagickBooleanType; const alpha, beta: double
): MagickBooleanType; cdecl; external WandExport;
function MagickSolarizeImage(wand: PMagickWand; const threshold: double
): MagickBooleanType; cdecl; external WandExport;
function MagickSpliceImage(wand: PMagickWand; const width, height: Cardinal; const x, y: Integer
): MagickBooleanType; cdecl; external WandExport;
function MagickSpreadImage(wand: PMagickWand; const radius: double): MagickBooleanType; cdecl; external WandExport;
function MagickStripImage(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickSwirlImage(wand: PMagickWand; const degrees: double): MagickBooleanType; cdecl; external WandExport;
function MagickTintImage(wand: PMagickWand; const tint: PPixelWand; const opacity: PPixelWand
): MagickBooleanType; cdecl; external WandExport;
function MagickThresholdImage(wand: PMagickWand; const threshold: double): MagickBooleanType; cdecl; external WandExport;
function MagickThresholdImageChannel(wand: PMagickWand; const channel: ChannelType;
const threshold: double): MagickBooleanType; cdecl; external WandExport;
function MagickTrimImage(wand: PMagickWand; const fuzz: double): MagickBooleanType; cdecl; external WandExport;
function MagickUnsharpMaskImage(wand: PMagickWand;
const radius, sigma, amount, threshold: double): MagickBooleanType; cdecl; external WandExport;
function MagickUnsharpMaskImageChannel(wand: PMagickWand;
const channel: ChannelType; const radius, sigma, amount, threshold: double
): MagickBooleanType; cdecl; external WandExport;
function MagickWaveImage(wand: PMagickWand; const amplitude, wave_length: double
): MagickBooleanType; cdecl; external WandExport;
function MagickWhiteThresholdImage(wand: PMagickWand; const threshold: PPixelWand): MagickBooleanType; cdecl; external WandExport;
function MagickWriteImage(wand: PMagickWand;
const filename: PChar): MagickBooleanType; cdecl; external WandExport;
// MagickWriteImageFile(MagickWand *,FILE *),
function MagickWriteImages(wand: PMagickWand;
const filename: PChar; const adjoin: MagickBooleanType
): MagickBooleanType; cdecl; external WandExport;
// MagickWriteImagesFile(MagickWand *,FILE *);
function MagickSetImageProgressMonitor(wand: PMagickWand;
const progress_monitor: MagickProgressMonitor; client_data: Pointer): MagickProgressMonitor; cdecl; external WandExport;
function MagickGetImageSize(wand: PMagickWand): MagickSizeType; cdecl; external WandExport;
function MagickAppendImages(wand: PMagickWand; const stack: MagickBooleanType): PMagickWand; cdecl; external WandExport;
function MagickAverageImages(wand: PMagickWand): PMagickWand; cdecl; external WandExport;
function MagickCoalesceImages(wand: PMagickWand): PMagickWand; cdecl; external WandExport;
function MagickCombineImages(wand: PMagickWand; para2: ChannelType): PMagickWand; cdecl; external WandExport;
function MagickCompareImageChannels(wand: PMagickWand;
const reference: PMagickWand; const channel: ChannelType; const metric: MetricType; distortion: PDouble
): PMagickWand; cdecl; external WandExport;
function MagickCompareImages(wand: PMagickWand;
const reference: PMagickWand; const metric: MetricType; distortion: PDouble
): PMagickWand; cdecl; external WandExport;
function MagickDeconstructImages(wand: PMagickWand): PMagickWand; cdecl; external WandExport;
function MagickFlattenImages(wand: PMagickWand): PMagickWand; cdecl; external WandExport;
function MagickFxImage(wand: PMagickWand; const expression: PChar): PMagickWand; cdecl; external WandExport;
function MagickFxImageChannel(wand: PMagickWand; const channel: ChannelType; const expression: PChar
): PMagickWand; cdecl; external WandExport;
function MagickGetImage(wand: PMagickWand): PMagickWand; cdecl; external WandExport;
function MagickGetImageRegion(wand: PMagickWand;
const width, height: Cardinal; const x, y: Integer
): PMagickWand; cdecl; external WandExport;
function MagickMorphImages(wand: PMagickWand; const number_frames: Cardinal): PMagickWand; cdecl; external WandExport;
function MagickMosaicImages(wand: PMagickWand): PMagickWand; cdecl; external WandExport;
//function MagickMontageImage(wand: PMagickWand;
// const drawing_wand: DrawingWand; const tile_geometry: PChar;
// const thumbnail_geometry: PChar; const mode: MontageMode; const frame: PChar
// ): PMagickWand; cdecl; external WandExport;
function MagickPreviewImages(wand: PMagickWand; const preview: PreviewType): PMagickWand; cdecl; external WandExport;
function MagickSteganoImage(wand: PMagickWand; const watermark_wand: PMagickWand;
const offset: Integer): PMagickWand; cdecl; external WandExport;
function MagickStereoImage(wand: PMagickWand; const offset_wand: PMagickWand): PMagickWand; cdecl; external WandExport;
function MagickTextureImage(wand: PMagickWand; const texture_wand: PMagickWand): PMagickWand; cdecl; external WandExport;
function MagickTransformImage(wand: PMagickWand; const crop, geometry: PChar): PMagickWand; cdecl; external WandExport;
function NewMagickWandFromImage(para1: PImage): PMagickWand; cdecl; external WandExport;
function MagickGetImageHistogram(wand: PMagickWand; number_colors: PCardinal): PPPixelWand; cdecl; external WandExport;
function MagickGetImageRenderingIntent(wand: PMagickWand): RenderingIntent; cdecl; external WandExport;
function MagickGetImageUnits(wand: PMagickWand): ResolutionType; cdecl; external WandExport;
{function MagickGetImageBlob(wand: PMagickWand; length: Psize_t): PByte; cdecl; external WandExport;
function (wand: PMagickWand): PByte; cdecl; external WandExport;
function (wand: PMagickWand): PByte; cdecl; external WandExport;
function (wand: PMagickWand): PByte; cdecl; external WandExport;
extern WandExport unsigned char
*MagickGetImageBlob(MagickWand *,size_t *),
*MagickGetImagesBlob(MagickWand *,size_t *),
*MagickGetImageProfile(MagickWand *,const char *,unsigned long *),
*MagickRemoveImageProfile(MagickWand *,const char *,unsigned long *);}
function MagickGetImageColors(wand: PMagickWand): Cardinal; cdecl; external WandExport;
function MagickGetImageCompressionQuality(wand: PMagickWand): Cardinal; cdecl; external WandExport;
function MagickGetImageDelay(wand: PMagickWand): Cardinal; cdecl; external WandExport;
function MagickGetImageChannelDepth(wand: PMagickWand; const channel: ChannelType): Cardinal; cdecl; external WandExport;
function MagickGetImageDepth(wand: PMagickWand): Cardinal; cdecl; external WandExport;
function MagickGetImageHeight(wand: PMagickWand): Cardinal; cdecl; external WandExport;
function MagickGetImageIterations(wand: PMagickWand): Cardinal; cdecl; external WandExport;
function MagickGetImageScene(wand: PMagickWand): Cardinal; cdecl; external WandExport;
function MagickGetImageWidth(wand: PMagickWand): Cardinal; cdecl; external WandExport;
function MagickGetNumberImages(wand: PMagickWand): Cardinal; cdecl; external WandExport;
//function MagickGetImageVirtualPixelMethod(wand: PMagickWand): VirtualPixelMethod; cdecl; external WandExport;
{
Deprecated methods.
}
{extern WandExport char
*MagickDescribeImage(MagickWand *);
extern WandExport MagickBooleanType
MagickOpaqueImage(MagickWand *,const PixelWand *,const PixelWand *,
const double),
MagickSetImageOption(MagickWand *,const char *,const char *,const char *),
MagickTransparentImage(MagickWand *,const PixelWand *,const Quantum,
const double);
extern WandExport MagickWand
*MagickRegionOfInterestImage(MagickWand *,const unsigned long,
const unsigned long,const long,const long);
extern WandExport unsigned char
*MagickWriteImageBlob(MagickWand *,size_t *);
}

View File

@ -0,0 +1,71 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick MagickWand API.
Converted from c by: Felipe Monteiro de Carvalho Dez/2005
}
{Version 0.2}
unit magick_wand;
{$IFDEF FPC}
{$mode objfpc}
{$ENDIF}
{$PACKRECORDS C}
{$MINENUMSIZE 1}
interface
uses ImageMagick;
type
MagickWand = record
id: Cardinal;
name: array[0..MaxTextExtent] of Char;
exception: ExceptionInfo;
image_info: PImageInfo;
quantize_info: QuantizeInfo;
images: Image;
iterator, debug: MagickBooleanType;
signature: Cardinal;
end;
PMagickWand = ^MagickWand;
{$include pixel_wand.inc}
{$include drawing_wand.inc}
{$include magick_attribute.inc}
{$include magick_image.inc}
{$include pixel_iterator.inc}
function IsMagickWand(const wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function MagickClearException(wand: PMagickWand): MagickBooleanType; cdecl; external WandExport;
function CloneMagickWand(const wand: PMagickWand): PMagickWand; cdecl; external WandExport;
function DestroyMagickWand(wand: PMagickWand): PMagickWand; cdecl; external WandExport;
function NewMagickWand: PMagickWand; cdecl; external WandExport;
procedure ClearMagickWand(wand: PMagickWand); cdecl; external WandExport;
procedure MagickWandGenesis; cdecl; external WandExport;
procedure MagickWandTerminus; cdecl; external WandExport;
function MagickRelinquishMemory(resource: Pointer): Pointer; cdecl; external WandExport;
procedure MagickResetIterator(wand: PMagickWand); cdecl; external WandExport;
procedure MagickSetFirstIterator(wand: PMagickWand); cdecl; external WandExport;
procedure MagickSetLastIterator(wand: PMagickWand); cdecl; external WandExport;
implementation
end.

View File

@ -0,0 +1,74 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Pixel Iterator Methods.
}
type
PixelIterator = record
id: Cardinal;
name: array[0..MaxTextExtent] of char;
exception: ExceptionInfo;
view: PViewInfo;
region: RectangleInfo;
y: Integer;
pixel_wand: PPPixelWand;
debug: MagickBooleanType;
signature: Cardinal;
end;
PPixelIterator = ^PixelIterator;
function PixelGetIteratorException(const iterator: PPixeliterator;
severity: PExceptionType): PChar; cdecl; external WandExport;
function IsPixelIterator(const iterator: PPixeliterator): MagickBooleanType; cdecl; external WandExport;
function PixelClearIteratorException(iterator: PPixeliterator): MagickBooleanType; cdecl; external WandExport;
function PixelSetIteratorRow(iterator: PPixeliterator;
const row: Integer): MagickBooleanType; cdecl; external WandExport;
function PixelSyncIterator(iterator: PPixeliterator): MagickBooleanType; cdecl; external WandExport;
function DestroyPixelIterator(iterator: PPixeliterator): PPixelIterator; cdecl; external WandExport;
function NewPixelIterator(wand: PMagickWand): PPixelIterator; cdecl; external WandExport;
function NewPixelRegionIterator(
wand: PMagickWand; const x, y: Integer; const columns, rows: Cardinal;
const modify: MagickBooleanType): PPixelIterator; cdecl; external WandExport;
function PixelGetNextIteratorRow(iterator: PPixeliterator; var wandCount: Cardinal): PPPixelWand; cdecl; external WandExport;
function PixelGetPreviousIteratorRow(iterator: PPixeliterator; var wandCount: Cardinal): PPPixelWand; cdecl; external WandExport;
procedure ClearPixelIterator(iterator: PPixeliterator); cdecl; external WandExport;
procedure PixelResetIterator(iterator: PPixeliterator); cdecl; external WandExport;
procedure PixelSetFirstIteratorRow(iterator: PPixeliterator); cdecl; external WandExport;
procedure PixelSetLastIteratorRow(iterator: PPixeliterator); cdecl; external WandExport;
{
Deprecated.
}
{extern WandExport char
*PixelIteratorGetException(const PixelIterator *,ExceptionType *);
extern WandExport PixelWand
**PixelGetNextRow(PixelIterator *);}

View File

@ -0,0 +1,109 @@
{
Copyright 1999-2005 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ImageMagick pixel wand API.
}
{
Declaration from pixel-wand.c
}
type
PixelWand = record
id: Cardinal;
name: array[1..MaxTextExtent] of char;
exception: ExceptionInfo;
pixel: MagickPixelPacket;
count: Cardinal;
debug: MagickBooleanType;
signature: Cardinal;
end;
PPixelWand = ^PixelWand;
PPPixelWand = ^PPixelWand;
function PixelGetException(const wand: PPixelWand; severity: PExceptionType): PChar; cdecl; external WandExport;
function PixelGetColorAsString(const wand: PPixelWand): PChar; cdecl; external WandExport;
function PixelGetAlpha(const wand: PPixelWand): Double; cdecl; external WandExport;
function PixelGetBlack(const wand: PPixelWand): Double; cdecl; external WandExport;
function PixelGetBlue(const wand: PPixelWand): Double; cdecl; external WandExport;
function PixelGetCyan(const wand: PPixelWand): Double; cdecl; external WandExport;
function PixelGetGreen(const wand: PPixelWand): Double; cdecl; external WandExport;
function PixelGetMagenta(const wand: PPixelWand): Double; cdecl; external WandExport;
function PixelGetOpacity(const wand: PPixelWand): Double; cdecl; external WandExport;
function PixelGetRed(const wand: PPixelWand): Double; cdecl; external WandExport;
function PixelGetYellow(const wand: PPixelWand): Double; cdecl; external WandExport;
function PixelGetIndex(const wand: PPixelWand): IndexPacket; cdecl; external WandExport;
function IsPixelWand(const wand: PPixelWand): MagickBooleanType; cdecl; external WandExport;
function IsPixelWandSimilar(p: PPixelWand; q: PPixelWand;
const fuzz: double): MagickBooleanType; cdecl; external WandExport;
function PixelClearException(wand: PPixelWand): MagickBooleanType; cdecl; external WandExport;
function PixelSetColor(wand: PPixelWand; const color: PChar): MagickBooleanType; cdecl; external WandExport;
function DestroyPixelWand(wand: PPixelWand): PPixelWand; cdecl; external WandExport;
function DestroyPixelWands(wand: PPPixelWand;
const number_wands: Cardinal): PPPixelWand; cdecl; external WandExport;
function NewPixelWand: PPixelWand; cdecl; external WandExport;
function NewPixelWands(const number_wands: Cardinal): PPPixelWand; cdecl; external WandExport;
function PixelGetAlphaQuantum(const wand: PPixelWand): Quantum; cdecl; external WandExport;
function PixelGetBlackQuantum(const wand: PPixelWand): Quantum; cdecl; external WandExport;
function PixelGetBlueQuantum(const wand: PPixelWand): Quantum; cdecl; external WandExport;
function PixelGetCyanQuantum(const wand: PPixelWand): Quantum; cdecl; external WandExport;
function PixelGetGreenQuantum(const wand: PPixelWand): Quantum; cdecl; external WandExport;
function PixelGetMagentaQuantum(const wand: PPixelWand): Quantum; cdecl; external WandExport;
function PixelGetOpacityQuantum(const wand: PPixelWand): Quantum; cdecl; external WandExport;
function PixelGetRedQuantum(const wand: PPixelWand): Quantum; cdecl; external WandExport;
function PixelGetYellowQuantum(const wand: PPixelWand): Quantum; cdecl; external WandExport;
function PixelGetColorCount(const wand: PPixelWand): Cardinal; cdecl; external WandExport;
procedure ClearPixelWand(wand: PPixelWand); cdecl; external WandExport;
procedure PixelGetMagickColor(const wand: PPixelWand; packet: PMagickPixelPacket); cdecl; external WandExport;
procedure PixelGetQuantumColor(const wand: PPixelWand; color: PPixelPacket); cdecl; external WandExport;
procedure PixelSetAlpha(wand: PPixelWand; const opacity: Double); cdecl; external WandExport;
procedure PixelSetAlphaQuantum(wand: PPixelWand; const opacity: Quantum); cdecl; external WandExport;
procedure PixelSetBlack(wand: PPixelWand; const opacity: Double); cdecl; external WandExport;
procedure PixelSetBlackQuantum(wand: PPixelWand; const opacity: Quantum); cdecl; external WandExport;
procedure PixelSetBlue(wand: PPixelWand; const opacity: Double); cdecl; external WandExport;
procedure PixelSetBlueQuantum(wand: PPixelWand; const opacity: Quantum); cdecl; external WandExport;
procedure PixelSetColorCount(wand: PPixelWand; const count: Cardinal); cdecl; external WandExport;
procedure PixelSetCyan(wand: PPixelWand; const opacity: Double); cdecl; external WandExport;
procedure PixelSetCyanQuantum(wand: PPixelWand; const opacity: Quantum); cdecl; external WandExport;
procedure PixelSetGreen(wand: PPixelWand; const opacity: Double); cdecl; external WandExport;
procedure PixelSetGreenQuantum(wand: PPixelWand; const opacity: Quantum); cdecl; external WandExport;
procedure PixelSetIndex(wand: PPixelWand; const index: IndexPacket); cdecl; external WandExport;
procedure PixelSetMagenta(wand: PPixelWand; const opacity: Double); cdecl; external WandExport;
procedure PixelSetMagentaQuantum(wand: PPixelWand; const opacity: Quantum); cdecl; external WandExport;
procedure PixelSetOpacity(wand: PPixelWand; const opacity: Double); cdecl; external WandExport;
procedure PixelSetOpacityQuantum(wand: PPixelWand; const opacity: Quantum); cdecl; external WandExport;
procedure PixelSetQuantumColor(wand: PPixelWand; const color: PPixelPacket); cdecl; external WandExport;
procedure PixelSetRed(wand: PPixelWand; const opacity: Double); cdecl; external WandExport;
procedure PixelSetRedQuantum(wand: PPixelWand; const opacity: Quantum); cdecl; external WandExport;
procedure PixelSetYellow(wand: PPixelWand; const opacity: Double); cdecl; external WandExport;
procedure PixelSetYellowQuantum(wand: PPixelWand; const opacity: Quantum); cdecl; external WandExport;