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

Вниз

как можно узнать, на какой пиксель TImage кликнул юзер?   Найти похожие ветки 

 
0bsid ©   (2006-01-25 15:32) [0]

как можно узнать, на какой пиксель TImage кликнул юзер?
учитывая, что изображение масштабируемое


 
grouzd[E]v ©   (2006-01-25 15:51) [1]

OnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
ага?

---
... we are walking on a thin line and you better avoid the risk ...


 
0bsid ©   (2006-01-25 16:32) [2]

спасибо конечно за внимание :)
я наверно немного неправильно задал вопрос
точнее какой пиксель TImage.Bitmap

похоже придётся учитывать размеры самого TImage :( гемор...


 
grouzd[E]v ©   (2006-01-25 17:14) [3]

То есть у тебя Bitmap вписан в Image? Что может быть проще! =)
bmp_x := round(img_x / img_width * bmp_width);
bmp_y := round(img_y / img_height * bmp_height);

---
... we are walking on a thin line and you better avoid the risk ...


 
0bsid ©   (2006-01-25 18:03) [4]

спасибо ещё раз :)
но всё немного сложнее. изображение с сохраняемыми пропорциями, поэтому ещё по бокам остаётся пустота
вобщем покарпел, сделал как надо. сложно правда

var
 mulx : real;
 muly : real;
 clX,clY : integer;
begin

 mulx:=imgmm.Width/Imgmm.Bitmap.Width;
 muly:=imgmm.height/Imgmm.Bitmap.height;

 clx:=trunc((x-(Imgmm.Width-muly*ImgMM.Bitmap.Width)/2)/muly);
 cly:=trunc((y-(Imgmm.Height-mulx*ImgMM.Bitmap.Height)/2)/mulx);

 if clx<0 then clx:=0;
 if cly<0 then cly:=0;
 if clx>ImgMM.Bitmap.Width  then clx:=ImgMM.Bitmap.Width;
 if cly>ImgMM.Bitmap.Height then cly:=ImgMM.Bitmap.Height;


 
grouzd[E]v ©   (2006-01-25 19:47) [5]

Что-то странное =)
И почему в формуле рассчета clx есть muly? (просто интересно)
Впрочем, если это работает как надо, поздравляю =)

---
... we are walking on a thin line and you better avoid the risk ...


 
grouzd[E]v ©   (2006-01-25 19:52) [6]

Нет, блин, я проверил, мой работает. Или я неправильно понял задачу?

---
... we are walking on a thin line and you better avoid the risk ...


 
0bsid ©   (2006-01-26 09:32) [7]

изображение Proporpotional:=True изза чего при изменении TImage появляются поля то сверху, то снизу и это нужно тоже учитывать


 
0bsid ©   (2006-01-26 10:06) [8]

изображение Proporpotional:=True изза чего при изменении TImage появляются поля то сверху, то снизу и это нужно тоже учитывать


 
grouzd[E]v ©   (2006-01-26 14:02) [9]

Proporpotional:=True может быть, я на D5 езжу, там такого вроде нет - я думал что речь о Stretch =)

---
... we are walking on a thin line and you better avoid the risk ...



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

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

Наверх




Память: 0.46 MB
Время: 0.009 c
15-1149686534
tesseract
2006-06-07 17:22
2006.07.02
Вот это лицензия!!!


2-1149676222
Ivolg
2006-06-07 14:30
2006.07.02
Замена


2-1150280850
FiJer
2006-06-14 14:27
2006.07.02
Поиск hex строки


2-1149954352
Fiallo4ka
2006-06-10 19:45
2006.07.02
заполнение таблиц в базе


15-1149758569
Der Nechk@ssoff
2006-06-08 13:22
2006.07.02
Умер Арнольд Ньюман





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский