Конференция "Media" » Вопрос по TIFF в libtiffDelphi [D7, WinXP]
 
  • Дмитрий Белькевич (10.02.12 19:26) [20]
    >Ни печенья ни варенья

    Ну как же, есть печенье и варенье:

    >почти уже сам разобрался
  • chizz (15.02.12 14:28) [21]
    Я тоже сейчас разбираюсь с этим зверем. Пока что смог открыть tif и пролистать его. Но открыл как-то не так... Через BitMap FirstPageBitmap.PixelFormat:=pf32bit;
    Вид - ужасный.
    Прокачаю тему, напишу сюда подробнее.

    Пока вот кусок кода:

    var
    my_tiff: PTIFF;
    FirstPageWidth,FirstPageHeight: Cardinal;
    FirstPageBitmap: TBitmap;
    listCount: integer;

    // переменные для изменения размера битмапа
    thumbRect : TRect;
    maxWidth, maxHeight: integer;

    begin

    my_tiff:=TIFFOpen('my.tif','r')  ; // 'a'- append

    // переход на страницу в Multi-page tiff'e

    listCount:=0;
        repeat
         listCount:=listCount+1;
        until ((TIFFReadDirectory(my_tiff)=-1) OR (listCount=StrToInt(Edit6.Text))) ;
    // -> BitMap

       TIFFGetField(my_tiff,TIFFTAG_IMAGEWIDTH,@FirstPageWidth);
      TIFFGetField(my_tiff,TIFFTAG_IMAGELENGTH,@FirstPageHeight);
      FirstPageBitmap:=TBitmap.Create;
      FirstPageBitmap.PixelFormat:=pf32bit;
     FirstPageBitmap.Width:=FirstPageWidth;
     FirstPageBitmap.Height:=FirstPageHeight;
      TIFFReadRGBAImage(my_tiff,FirstPageWidth,FirstPageHeight,
                  FirstPageBitmap.Scanline[FirstPageHeight-1],0);
     TIFFClose(my_tiff);

    // resize Bitmap and -> Image

     //proportional resize
        if FirstPageBitmap.Width > FirstPageBitmap.Height then
        begin
          thumbRect.Right := maxWidth;
          thumbRect.Bottom := (maxWidth * FirstPageBitmap.Height) div FirstPageBitmap.Width;
        end
        else
        begin
          thumbRect.Bottom := maxHeight;
          thumbRect.Right := (maxHeight * FirstPageBitmap.Width) div FirstPageBitmap.Height;
        end;
       //resize image
       FirstPageBitmap.Canvas.StretchDraw(thumbRect, FirstPageBitmap) ;
        FirstPageBitmap.Width := thumbRect.Right;
       FirstPageBitmap.Height := thumbRect.Bottom;

        //display in a TImage control
        Image1.Picture.Assign(FirstPageBitmap) ;



    Грызу сорцы LibTiff + http://libtiff.maptools.org/libtiff.html
  • seer © (08.03.12 23:06) [22]
    > пролистать его

    Пример кода можно? Что-то не получается пролистать.
  • AleksVoronezh © (20.03.12 13:08) [23]
    День добрый!

    И я сейчас занимаюсь этой темой. Пока что смог изображение со сканера записать с той или иной глубиной цвета и компрессией. В принципе, через GDI+ это сделать не трудно. Также легко отобразить на экране через GDI+, правда многостраничный tiff отображать не пробовал, а вот создать его пожалуй даже проще... Но вот в GDI+ не нашел средств для задания разрешения в файле - как поставить например 300dpi?
  • AleksVoronezh © (20.03.12 13:10) [24]
    День добрый!

    И я сейчас занимаюсь этой темой. Пока что смог изображение со сканера записать с той или иной глубиной цвета и компрессией. В принципе, через GDI+ это сделать не трудно. Также легко отобразить на экране через GDI+, правда многостраничный tiff отображать не пробовал, а вот создать его пожалуй даже проще... Но вот в GDI+ не нашел средств для задания разрешения в файле - как поставить например 300dpi? Нет ли у Вас информации по этому поводу, уважаемые участники?
  • AleksVoronezh © (20.03.12 13:10) [25]
    День добрый!

    И я сейчас занимаюсь этой темой. Пока что смог изображение со сканера записать с той или иной глубиной цвета и компрессией. В принципе, через GDI+ это сделать не трудно. Также легко отобразить на экране через GDI+, правда многостраничный tiff отображать не пробовал, а вот создать его пожалуй даже проще... Но вот в GDI+ не нашел средств для задания разрешения в файле - как поставить например 300dpi? Нет ли у Вас информации по этому поводу, уважаемые участники?
  • UA3GDW (22.04.12 21:40) [26]
    В Delphi XE2 можно вот так: http://radiosoft.info/index.php/blog/42-10
  • Pharmf153 (06.02.13 15:57) [27]
    Hello! efaaefe interesting efaaefe site! I'm really like it! Very, very efaaefe good!
  • Pharmg365 (06.02.13 15:57) [28]
    Hello! kgaegek interesting kgaegek site! I'm really like it! Very, very kgaegek good!
 
Конференция "Media" » Вопрос по TIFF в libtiffDelphi [D7, WinXP]
Есть новые Нет новых   [118661   +26][b:0][p:0.002]