http://www.16va.be/

Форум радиотехнических войск ПВО ГСВГ

Объявление

Администрация форума напоминает, что для высказывания своих политических взглядов есть другие ресурсы сети Интернет!
Всякий политический флуд будет безжалостно удаляться.

Связаться с оперативным дежурным форума по E-mail через Полевую почту
Советы:
1. Руководство по регистрации на форуме с картинками Здесь
2. Новости нашего сайта и форума на страничке Новости
3. Если наш сайт помог вам, то мы будем признательны, если вы поставите ссылку на www.rtv-pvo-gsvg.narod.ru в своем сайте, блоге, страничке пользователя социальной сети или сообщите о сайте своим друзьям.
  Для этого на страницах нашего сайта и форума есть иконки социальных сетей. С их помощью вы можете делиться интересными новостями со своими друзьями внутри сетей ВКонтакте, Фейсбук, Твиттер, Одноклассники, Мои Мир, LiveJournal, FriendFeed, Мой Круг и еще многих других.
  Мы просим вас пользоваться этой возможностью как можно чаще.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум радиотехнических войск ПВО ГСВГ » Околокомпьютерные темы » Прога для создания фотоальбомов


Прога для создания фотоальбомов

Сообщений 1 страница 2 из 2

1

Внимание! Эта штука не предназначена для размещения фото на нашем форуме и сайте самостоятельно!

Написал вот простую прогу для создания фотоальбомов. Замучился руками подправлять. :)
Комменты к своим фото Олега Козлова и, наконец, Вадима Жиборкина окончательно заставили прикрутить возможность добавлять комменты свыше 255 знаков :)
Версия 1.1 понимает GIF и PNG изображения, исправлена ошибка в CSS, изменен интерфейс.
История программы

Скачать постоянно обновляемую версию

Кому нужны исходники (а вдруг...) Пишите - вышлю. Писано на Delphi 7.
Вот одна из функций:

//создает в указанной директории уменьшенную копию файла оригинала
//с установленным форматом имени
procedure TForm1.ThumbnailPictureCreate(originfile,smalldir,owner: String;
                              id, width, height: Integer; k: Real=1.0);
var
jporigin, jpico:TJPEGImage;
pngorigin, pngico: TPNGObject;
giforigin, gifico:TGIFImage;
pictype: TPicType;
bmp:TBitmap;
begin
  //определяем тип изображения оригинала
  pictype:= GetPicType(originfile);
  if pictype<>ptUNKNOWN
  then
  begin
  //создаём промежуточные битовые изображения
  jporigin:=TJPEGImage.Create;
  jpico:=TJPEGImage.Create;
  pngorigin:=TPNGObject.Create;
  pngico:=TPNGObject.Create;
  giforigin:=TGIFImage.Create;
  gifico:=TGIFImage.Create;
  bmp:=TBitmap.Create;

  //назначаем ширину иконки
  bmp.Width:= Round(width*k);
      //загружаем  jpg/png/gif
      //определяем высоту иконки
  case  pictype of
    ptJPEG:
        begin
            jporigin.LoadFromFile(originfile);
            bmp.Height:= Round(jporigin.Height/(jporigin.Width/bmp.Width));
        end;
    ptPNG :
        begin
            pngorigin.LoadFromFile(originfile);
            bmp.Height:= Round(pngorigin.Height/(pngorigin.Width/bmp.Width));
        end;
    ptGIF :
        begin
            giforigin.LoadFromFile(originfile);
            bmp.Height:= Round(giforigin.Height/(giforigin.Width/bmp.Width));
        end;
end;

  //если "портретность" больше установленной...
  if bmp.Height>height*k
    then
    //...то снизить ее до нормы
      begin
    //назначаем высоту иконки
    bmp.Height:= Round(height*k);
    //определяем ширину иконки
            case  pictype of
            ptJPEG:
                bmp.Width:=Round(jporigin.Width/(jporigin.Height/bmp.Height));
            ptPNG :
                bmp.Width:=Round(pngorigin.Width/(pngorigin.Height/bmp.Height));
            ptGIF :
                bmp.Width:=Round(giforigin.Width/(giforigin.Height/bmp.Height));
            end;
      end;
  //оригинал to small bmp
  //small bmp to  smalljpg/smallpng/smallgif
  //сохраняем в файл с установленным именем
case  pictype of
      ptJPEG:
          begin
            bmp.Canvas.StretchDraw(Rect(0,0, bmp.Width, bmp.Height), jporigin);
            jpico.CompressionQuality:=50;
            jpico.Compress;
            jpico.Assign(bmp);
            jpico.SaveToFile(ExtractFilePath(originfile)+'\'+smalldir+'\'+owner+
                '_s_'+IntToStr(id)+'_'+ExtractFileName(originfile));
          end;
      ptPNG :
          begin
            bmp.Canvas.StretchDraw(Rect(0,0, bmp.Width, bmp.Height), pngorigin);
            pngico.CompressionLevel:= 9;
            pngico.InterlaceMethod:= imNone;
            pngico.Assign(bmp);
            pngico.SaveToFile(ExtractFilePath(originfile)+'\'+smalldir+'\'+owner+
                            '_s_'+IntToStr(id)+'_'+ExtractFileName(originfile));
          end;
      ptGIF :
          begin
            bmp.Canvas.StretchDraw(Rect(0,0, bmp.Width, bmp.Height), giforigin);
            gifico.Assign(bmp);
            gifico.SaveToFile(ExtractFilePath(originfile)+'\'+smalldir+'\'+owner+
                            '_s_'+IntToStr(id)+'_'+ExtractFileName(originfile));
          end;
    end;

  //удаляем промежуточные битовые изображения
  jporigin.Free;
  jpico.Free;
  pngorigin.Free;
  pngico.Free;
  giforigin.Free;
  gifico.Free;
  bmp.Free;
  end
  else
    ShowMessage('Формат файла '+originfile+' не определен. Иконка не создана.');
end;

0

2

Все альбомы нашего сайта созданы с помощью этой проги
Вот пример Смотреть

0


Вы здесь » Форум радиотехнических войск ПВО ГСВГ » Околокомпьютерные темы » Прога для создания фотоальбомов


Создать форум.