LINUX.ORG.RU

есть файл IBM PC 16 bit data(размер картинки 1392x1040 пикселей), 
для имаджмаджика(с, но не с++) это делается так:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <magick/api.h>

int main(int argc,char *argv[]){
  unsigned long width, height;
  Image image, *img=&image;
  ImageInfo image_info;
  ExceptionInfo exception;
  width=1392;
  height=1040;
  unsigned int size=width*height;
  unsigned short pix[size];
  FILE * fp;
  fp = fopen (argv[1], "r");
  fread(&pix, size, 2, fp);
  InitializeMagick(*argv);
  GetImageInfo(&image_info);
  GetExceptionInfo(&exception);
  img=ConstituteImage(width,height,"I",ShortPixel,&pix,&exceptio
n);
  (void) strcpy(image.filename, argv[2]);
  (void) strcpy(img->filename, argv[2]);
  img->depth=16;
  img->compression=1;
  WriteImage(&image_info,img);
  DestroyImage(img);
  DestroyImageInfo(&image_info);
  DestroyExceptionInfo(&exception);
  DestroyMagick();
  return 1;
}


на с++ что-то очень сильно похожее, но это надо смотреть на 
http://www.imagemagick.org

Соответственно компилируется 

gcc `Magick-config --cflags --cppflags` pixels.c `Magick-config --ldflags --libs`

запускается так:

./a.out inputfile.raw outputfile.jpg (или любое из расширений, 
поддерживаемых ImageMagick)

vilfred ☆☆
()

см libjpeg

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.