Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2008, 13:14   #1
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию TJPEG

Вот пытаюсь загружать JPEG в Buf
загружаю все нормально... потом делаю еще раз тоже самое этой же процедурой и тут ошибку выдает
я плохо знаю как с этим JPEG работать так что не судите строго))
Код:
var
  Bmp:TBitMap;
  Patch:String;
  Buf:TJPEGImage;

.....


procedure OpenPhoto;
var
 S:String;
begin
 form1.LabeledEdit1.Enabled:=True;
 form1.LabeledEdit2.Enabled:=True;
 if form1.OpenPictureDialog1.Execute then
  begin
   Patch:=form1.OpenPictureDialog1.FileName;
   if copy(Patch,length(Patch)-2,3)<>'bmp' then
    begin
     Buf.LoadFromFile(Patch); // вот тут вроде бы
     Bmp.Assign(Buf);
     Buf.Free;
    end else
    Bmp.LoadFromFile(Patch);
    Original.Width:=Bmp.Width;
    Original.Height:=Bmp.Height;
    S:=form1.Label1.Caption;
    delete(S,18,length(S));
    S:=S+IntToStr(Original.Width)+'x'
     +IntToStr(Original.Height);
    form1.Label1.Caption:=s;
    EditPhoto;
  end;
end;
^_^

Последний раз редактировалось WOLFak; 25.06.2008 в 13:17.
WOLFak вне форума Ответить с цитированием
Старый 25.06.2008, 13:20   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Buf.Free; вижу, а где создается ?
Почему бы не сделать переменную buf локальной ?
alexBlack вне форума Ответить с цитированием
Старый 25.06.2008, 13:26   #3
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

создается в при создании формы .. ща попробую
клас спасибо помогло
и еще вопрос вот я где то подцепил этот для картинок .Free а зачем он нужен так и не понимаю
^_^

Последний раз редактировалось WOLFak; 25.06.2008 в 13:28.
WOLFak вне форума Ответить с цитированием
Старый 25.06.2008, 13:44   #4
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

и еще вопрос
как перевести пиксели картинки в мм?
^_^
WOLFak вне форума Ответить с цитированием
Старый 25.06.2008, 13:52   #5
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Не понял что куда перевести.
Вы про это:

DPI:TPoint;
DPI.X := Windows.GetDeviceCaps(Canvas.Handle , LOGPIXELSX);
DPI.Y := Windows.GetDeviceCaps(Canvas.Handle , LOGPIXELSY);

<inPixel> = <mm> * DPI.X / 25,4;
<mm> = <inPixel> / DPI.X * 25,4;

Последний раз редактировалось alexBlack; 25.06.2008 в 14:27.
alexBlack вне форума Ответить с цитированием
Старый 25.06.2008, 13:58   #6
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

я имел ввиду 1 пиксель картинки(картинка из файла, не на экране) равен на бумаге 1 мм?
^_^
WOLFak вне форума Ответить с цитированием
Старый 25.06.2008, 14:06   #7
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от WOLFak Посмотреть сообщение
я имел ввиду 1 пиксель картинки(картинка из файла, не на экране) равен на бумаге 1 мм?
нет, не равен.
У рисунка (JPEG) есть свойство DPI (Например 314 точек/на дюйм).
Вот, используя это значение и пересчитываем пиксели в дюймы/мм.
alexBlack вне форума Ответить с цитированием
Старый 25.06.2008, 14:14   #8
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

с bmp тоже самое?
дюйм - сколько это мм?
^_^
WOLFak вне форума Ответить с цитированием
Старый 25.06.2008, 14:26   #9
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от WOLFak Посмотреть сообщение
с bmp тоже самое?
дюйм - сколько это мм?
Насколько я знаю, в bitMap DPI не хранится. Остается только размер рисунка в пикселах.

Дюйм ~25.4 мм

Что Вы собираетесь сделать ? Зачем нужен этот перевод ? Рисунок ведь легко масштабируется под любой размер.
alexBlack вне форума Ответить с цитированием
Старый 25.06.2008, 14:30   #10
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

ну вообщем я наверное зашел в дремучий лес
я хочу обрезать по кроям картинку чтобы вывести потом на бумагу 1 к 1 тоесть к томуже размеру что вижу на экране
^_^
WOLFak вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц