Просмотрщик картинок

Тема в разделе "Delphi - Multimedia, Графика, Игры", создана пользователем VLGENERAL, 28 апр 2010.

  1. VLGENERAL

    VLGENERAL Гость

    Здравствуйте!
    посоветуйте, как реализовать просмотр картинок в режиме 'эскизы страниц' для форматов .ai, .bmp, .cdr, .eps, .jpg, .psd, .tif, .wmf.
    Имеется бд с адресом каждого файла.
    Спасибо!
     
  2. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Можно грузить файл и выводить на канву StretchDraw,только надо будет найти модули для работы с .ai, .cdr, .eps, .psd, .tif.
    Пример для bmp и .jpg
    Код (Text):
    uses jpeg;
    ..........
    var bmp:Tbitmap;
    jpg:TJpegimage;

    procedure Tform1.FormCreate(Sender: TObject); //OnCreate
    begin
    bmp:=TBitmap.create;
    jpg:=TJpegimage.create;
    end;

    procedure DrawImage(Canvas:TCanvas; way:string; x1,y1,x2,y2:integer);
    var s:string;
    begin
    s:=extractfileext(way);
    case lowercase(s) of
    '.bmp' : begin bmp.loadfromfile(way); canvas.StretchDraw(bounds(x1,y1,x2-x1,y2-y1),bmp); end;
    '.jpg' : begin jpg.loadfromfile(way); canvas.StretchDraw(bounds(x1,y1,x2-x1,y2-y1),jpg); end;
    '.jpeg' : begin jpg.loadfromfile(way); canvas.StretchDraw(bounds(x1,y1,x2-x1,y2-y1),jpg); end;
    end;
    end;


    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if opendialog1.Execute then DrawImage(Image1.canvas,opendialog1.filename,10,10,110,110);
    end;
     
  3. etc

    etc Гость

    Это плохо.
     
  4. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    А чё так?
     
  5. etc

    etc Гость

    Потому как не нужно так.
     
  6. VahaC

    VahaC Well-Known Member

    Регистрация:
    10 янв 2007
    Сообщения:
    116
    Симпатии:
    0
    Dock1100
    а почему не сделать просто

    Код (Delphi):
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if opendialog1.Execute then Image1.LoadFromFile(opendialog1.filename);
    end;
     
  7. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    jpeg гризить не будет(покрайне мере у меня)
     
  8. VahaC

    VahaC Well-Known Member

    Регистрация:
    10 янв 2007
    Сообщения:
    116
    Симпатии:
    0
    да действительно
     
  9. VLGENERAL

    VLGENERAL Гость

    отображаю через imagelist и listview
    код:

    procedure FillListView(path: string; mask: string );
    var
    sr: TSearchRec;
    img: TPicture;
    bmp: TBitmap;
    pic: TBitMap;
    begin
    img := TPicture.Create;
    bmp := TBitMap.Create;
    pic := TBitMap.Create;
    img.LoadFromFile(form1.Table.FieldByName('папка').AsString
    + form1.Table.FieldByName('имя').AsString);
    bmp.Assign(img.Graphic);
    pic.Width := form1.ImageList1.Width;
    pic.Height:= form1.ImageList1.Height;
    pic.Canvas.StretchDraw(Rect(0,0,pic.Width, pic.Height), bmp);
    form1.ImageList1.Add(pic, nil);
    with form1.ListView1.Items.Add do
    begin
    Caption := form1.Table.FieldByName('имя').AsString;
    ImageIndex := form1.ListView1.Items.Count-1;
    end;
    img.Free; bmp.Free; pic.Free;
    end;

    в цикле вывожу на ListView
    не отображает векторные форматы(.ai, .cdr, .eps, ) и .wmf
     
  10. VahaC

    VahaC Well-Known Member

    Регистрация:
    10 янв 2007
    Сообщения:
    116
    Симпатии:
    0
    для них нужно спец компоненты поищи на http://torry.net
     
  11. VLGENERAL

    VLGENERAL Гость

    Нашел библиотеку GflSDK(http://download.xnview.com/GflSDKSetup.exe)
    там в демке можно выбирать формат ai и eps. У меня загружает только некоторые eps.про ai пишет, что формат неизвестный.посмотрите что нужно там добавить чтобы демка грузила эти форматы
     
  12. ignessa

    ignessa Гость

    Привет...помогите,пожалуйста...нужно сделать анимацию " ползающая божья коровка" или "летающий самолет"...в общем любую анимацию в движении в delphi 7...надо описать на языке программирования всю последовательность действий
     
  13. VLGENERAL

    VLGENERAL Гость

    для чтения форматов ai, eps использовал библиотеку GflSDK(http://www.xnview.com/en/download_gfl.html) дополнительно нужно установить Ghostscript(http://ghostscript.com/releases/). Библиотека читает более 100 форматов, за исключением cdr. В демке есть пример загрузки изображения в image.
    Всем спасибо!
     
Загрузка...

Поделиться этой страницей