Главная страница
    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.5 MB
Время: 0.006 c
15-1249260855
Дмитрий С
2009-08-03 04:54
2009.10.04
В кипятке 4-5 минут.


15-1249310183
pasha_golub
2009-08-03 18:36
2009.10.04
Вызов Free (Destroy) внутри метода объекта


2-1248942126
KK
2009-07-30 12:22
2009.10.04
Строку в список


2-1248854287
xyz
2009-07-29 11:58
2009.10.04
исключение "недопустимое имя"


2-1248952921
xyz
2009-07-30 15:22
2009.10.04
вопрос по поводу пути до БД в ADOConnection





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский