Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];

Вниз

как можно узнать, на какой пиксель 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 вся ветка

Форум: "Media";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.011 c
15-1149325813
ChelovekABCDEF
2006-06-03 13:10
2006.07.02
Правильно ли решена задача?


2-1150394396
Тимофей Юрьевич
2006-06-15 21:59
2006.07.02
не заню как и назвать;)


9-1128284946
Ford
2005-10-03 00:29
2006.07.02
3D Tile


2-1149828601
Layner
2006-06-09 08:50
2006.07.02
Как передать в создаваемую форму параметр, как в функцию


11-1129697831
Vladimir Kladov
2005-10-19 08:57
2006.07.02
Версия 2.17





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