Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.04;
Скачать: CL | DM;

Вниз

Ошибка в GetBitmapDimensionEx.   Найти похожие ветки 

 
Б   (2009-07-26 23:57) [0]


Function Load(const FileName: string): boolean;
Var
 Size: TSize;
 Bmp: HBITMAP;
begin
  Bmp:= LoadImage(0, PChar(FileName), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE or LR_CREATEDIBSECTION);

  If not GetBitmapDimensionEx(Bmp, Size) then
  begin
     Result:= False;
     Exit;
  end;

  . . . . .



В итоге Size.cx и Size.cy, всегда по-нулям. Почему?


 
Б   (2009-07-26 23:59) [1]

Такое происходит для любых загруженных изображений.


 
Б   (2009-07-27 00:09) [2]

Мне нужно получить размеры дескриптора изображения.


 
turbouser ©   (2009-07-27 00:10) [3]

Справку надо читать..
MSDN:
http://msdn.microsoft.com/en-us/library/dd144851%28VS.85%29.aspx
The retrieved dimensions must have been set by the SetBitmapDimensionEx function.
...
The function returns a data structure that contains fields for the height and width of the bitmap, in .01-mm units. If those dimensions have not yet been set, the structure that is returned will have zeroes in those fields.


 
Б   (2009-07-27 00:15) [4]

Точно.
А как тогда получить размеры дескриптора изображения, кроме GetObject?


 
Amoeba ©   (2009-07-27 00:45) [5]


> А как тогда получить размеры дескриптора изображения

А чего его получать? Он всегда будет, как и любой другой дескриптор, иметь размер в 4 байта.


 
Б   (2009-07-27 09:57) [6]


> А чего его получать? Он всегда будет, как и любой другой
> дескриптор, иметь размер в 4 байта.


Не. Мне нужен не размер дескриптора в байтах, а его размерЫ: ширина и высота.


 
Palladin ©   (2009-07-27 09:58) [7]

Ну это зависит от того каким шрифтом его выводить


 
brother ©   (2009-07-27 10:05) [8]

> Не. Мне нужен не размер дескриптора в байтах, а его размерЫ:
> ширина и высота.

дескриптора? О_о или изображения?)


 
brother ©   (2009-07-27 10:18) [9]

тебе просто ширину и высоту узнать надо и все?


 
Б   (2009-07-27 12:55) [10]


> дескриптора? О_о или изображения?)


Дескриптора изображения - HBITMAP.


> тебе просто ширину и высоту узнать надо и все?


Да.
Остальные данные не интересуют.


 
brother ©   (2009-07-27 13:03) [11]

procedure TForm1.Button1Click(Sender: TObject);
var bmp: TBitmap;
begin
 memo1.Lines.Clear;
 bmp:= TBitmap.Create;
 with bmp do
 try
   bmp.LoadFromFile("c:\1.bmp");
   memo1.Lines.Add(inttostr(bmp.Width)+"x"+inttostr(bmp.Height));
 finally
   bmp.Free;
 end;  
end;


 
Б   (2009-07-27 13:07) [12]


> brother ©   (27.07.09 13:03) [11]


Не, ну это понятно.
Мне надо на чистом WinAPI.


 
brother ©   (2009-07-27 13:08) [13]

> Мне надо на чистом WinAPI.

ты об этом в ТЗ не говорил


 
Б   (2009-07-27 13:16) [14]


> ты об этом в ТЗ не говорил


Если было бы так просто, я б не срашивал. Да и по коду видно, что используется чистый API.


 
brother ©   (2009-07-27 13:19) [15]

в начинающих, чего только не было... и велосипеды изобретают и на API реализуют многоэтажным кодом (из инета) то, что реализуется в пару строк... дык ой...
зы а телепатор мой в отпуске


 
Б   (2009-07-27 13:23) [16]

зы а телепатор мой в отпуске
Что не понятно? [10]-?


 
brother ©   (2009-07-27 13:24) [17]

что не понятно в [11]?


 
Б   (2009-07-27 13:27) [18]

И как в [11] узнать:

> Б   (27.07.09 00:09) [2]
> Мне нужно получить размеры дескриптора изображения.


 
Б   (2009-07-27 13:27) [19]

И как в [11] узнать?:

> Б   (27.07.09 00:09) [2]
> Мне нужно получить размеры дескриптора изображения.


 
brother ©   (2009-07-27 13:29) [20]

> размеры дескриптора изображения.

я не знаю, что ты имеещь под этим ввиду...
я привел свой вариант видиния этого... на этом я откланиваюсь...


 
brother ©   (2009-07-27 13:30) [21]

зы у дескриптора нет ширины и высоты... это грубо говоря ссылка на что-то...


 
brother ©   (2009-07-27 13:31) [22]

> размеры дескриптора изображения

его размер тебе сказали в [5]


 
Б   (2009-07-27 13:37) [23]


> зы у дескриптора нет ширины и высоты... это грубо говоря
> ссылка на что-то...


Это понятно. Вот мне нужна функция, которая извлекает их.


> его размер тебе сказали в [5]


А это что?


> Б   (27.07.09 09:57) [6]


 
Anatoly Podgoretsky ©   (2009-07-27 14:56) [24]

Ну теперь ссылка на [21] и по круну


 
Б   (2009-07-27 15:00) [25]


> Ну теперь ссылка на [21] и по круну



> Б   (27.07.09 13:37) [23]
>
> > зы у дескриптора нет ширины и высоты... это грубо говоря
>
> > ссылка на что-то...
>
>
> Это понятно. Вот мне нужна функция, которая извлекает их.
>


 
Palladin ©   (2009-07-27 15:07) [26]

См. TBitmap.ReadDIB в graphics.pas



Страницы: 1 вся ветка

Текущий архив: 2009.10.04;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.01 c
8-1190981674
Inspired
2007-09-28 16:14
2009.10.04
Использование пульта ДУ для альт. целей


15-1248830322
sm1t
2009-07-29 05:18
2009.10.04
Буржуи уже хоронят РФ


9-1182594213
Max_
2007-06-23 14:23
2009.10.04
DirectX


2-1248693315
evgenij
2009-07-27 15:15
2009.10.04
Access violation после выгрузки dll


15-1249450605
Kerk
2009-08-05 09:36
2009.10.04
В России начали подделывать китайские авто