PascalMagick/es

From Lazarus wiki
Revision as of 14:50, 24 March 2012 by Vincent (talk | contribs) (Text replace - "delphi>" to "syntaxhighlight>")
Jump to navigationJump to search

English (en) español (es) français (fr) Bahasa Indonesia (id) 日本語 (ja) português (pt) русский (ru) 中文(中国大陆)‎ (zh_CN)

En breve

Sobre ImageMagick

   ImageMagick es un conjunto de librerías de software libre desarrollado para crear, editar y componer imágenes de mapa de bits. Soporta una gran variedad de formatos (más de 90) incluyendo formatos como GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF y DPX. Las imágenes pueden ser recortadas, sus colores pueden cambiarse, aplicarles varios efectos, pueden ser giradas y combinadas; texto, líneas, polígonos, elipses y curvas de Bézier se pueden añadir a las imágenes y ajustadas y rotadas.

   ImageMagick funciona en los principales sistemas operativos y se puede utilizar desde la línea de órdenes y el paquete con el utilitario de línea de órdenes es un paquete estándar de Linux en muchas distribuciones.

   Características y capacidades:

  • Convertir una imagen de un formato a otro (por ejemplo, PNG a JPEG)
  • Escalar, rotar, mejorar, reducir los colores, o agregar efectos especiales a una imagen
  • Crear un montaje con miniaturas de las imágenes
  • Crear una imagen transparente adecuada para su uso en la Web
  • Convertir un grupo de imágenes en una secuencia de animación GIF
  • Crear una imagen compuesta por la combinación de varias imágenes separadas
  • Dibujar formas o texto en una imagen
  • Decorar una imagen con un borde o marco
  • Describir el formato y las características de una imagen

Sobre el libro ImageMagick Tricks

   ImageMagick Tricks Este rápido y práctico libro está repleto de ejemplos de manipulación de fotos, la creación de logotipos, animaciones y proyectos web completos. Con este libro a mano, va a crear imágenes fascinantes desde su código en un momento.

Sobre MagickWand

   MagickWand API es la interfaz recomendada por el equipo de ImageMagick. Es la interfaz de programación más fácil utilizar el para trabajar con ImageMagick.

Sobre MagickCore

   La API MagickCore API es una interfaz de bajo nivel para ImageMagick.

Sobre PascalMagick

   Esta adaptación es una traducción de los archivos de cabecera C tanto de MagickWand como de Magick Core.

Pantallazos

Autores

   Felipe Monteiro de Carvalho

   Ángel Eduardo García

Licencia

   Tipo BSD ompatible con GPL.

   Puedes leer la licencia.

Descarga

   PascalMagick 0.4 está disponible aquí

   Estado: Las cabeceras Magick Wand están completas y funcionan en Linux y Windows.

Instalación

   La versión actual de PascalMagick funciona en Windows y Linux. Necesitamos probadores para la versión de Mac OS X.

   Para empezar, instalar los binarios ImageMagick trás bajarlos desde su página web oficial

   Ahora descargar y descomprimir el paquete PascalMagick (Instrucciones en la sección de descargas más arriba).

   Para comprobar que todo funciona, abre el proyecto PascalMagick/wand/wanddemo.lpi . Ahora ve a Proyecto -> "Opciones del Compilador ..." y cambia el valor del campo "Otros archivos de unidad (-Fu)" que apunte a ".. /magick", para que pueda encontrar el archivo PascalMagick/magick/ImageMagick.pas. Trás esto, puedes compilar y ejecutar el programa de prueba.

   Si el programa funciona, cargará el archivo image.png situado en su mismo directorio, cambiará su tamaño y, la guardará como un archivo JPG llamado image.jpg.

   Un paso adicional es necesario en Linux: Cambiar el nombre de image.PNG a image.png debido a problemas de caso.

Programa 1 de demostración

 {
  Programa de demostración para la librería ImageMagick
  Este programa ha sido traducido desde C por: Felipe Monteiro de Carvalho
  Utilización: Simplemente ejecuta el programa. Se escala la imágen del archivo image.png
  a (106, 80) y se convierte a JPG.
  Dez/2005
 }
 {Version 0.1}

 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('Ha ocurrido un errror. Descripción: %s', [description]));
  description := MagickRelinquishMemory(description);
  Abort;
 end;

 var
  status: MagickBooleanType;
  wand: PMagickWand;

 begin

  { Leer una imágen. }
  MagickWandGenesis;
  wand := NewMagickWand;
  
  try
    status := MagickReadImage(wand, 'image.png');
    if (status = MagickFalse) then ThrowWandException(wand);

    { Convierte imñagenes en mueswtras de 106 x 80. }
    MagickResetIterator(wand);
    while (MagickNextImage(wand) <> MagickFalse) do
     MagickResizeImage(wand, 106, 80, LanczosFilter, 1.0);
 
   { Escribe la imágen como MIFF y la destruye. }
    status := MagickWriteImages(wand, 'image.jpg', MagickTrue);
    if (status = MagickFalse) then ThrowWandException(wand);

  finally
    wand := DestroyMagickWand(wand);
    MagickWandTerminus;
  end;
 end.

Subversion

   (21:18, 17 November 2009 (CET)) no existe el repositorio subversión que se menciona

   Puedes descargar desde Subversion una versión de este proyecto usando este comando:

svn checkout http://svn.freepascal.org/svn/fpc/trunk/packages/base/imagemagick imagemagick

   También puedes descargar el repositorio completo de FPC 2.1.1 que ya lo incluye.

Informe de errores / Petición de funcionalidades

   Las pruebas son necesarias para verificar si el enlace funciona con todas las versiones de ImageMagick.

   Por favor, Informes de errores / Solicitudes de funcionalidades en la página de discusión.

Registro de cambios

  • 07.11.07
  1. Añadidas 4 funciones que faltaban en magick_image.inc de la FPC subversión, pero no hay nueva versión
  • 12.07.06 PascalMagick versión 0.4 liberada
  1. Últimos errores arreglados
  • 24.05.06 PascalMagick versión 0.3 liberada
  1. Cambios menores en el enlace
  • 10.04.06 PascalMagick versión 0.2 liberada
  1. Basada en ImageMagic 6.2
  2. MagickWand API completamente traducida
  3. Añadido segundo programa de demostración
  • 27.12.05 PascalMagick versión 0.1 liberada
  1. Cerca del 80% de MagickWand API traducida
  2. El programa básico de demostración funcional correctamente
  3. Sólo las cabeceras imprescisdibles de MagickCode se tradujeron
  • 14.12.05 Comienzo del trabajo de trasposición a Pascal de las cabeceras de C

Ayuda

   Por favor, remite las solicitudes de ayuda al foro de Lazarus o a la lista de correo Lazarus.