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

Вниз

Это фишка или баг фрипаскаля?   Найти похожие ветки 

 
Вася   (2013-09-25 15:26) [0]

кусок кода:
case combobox1.ItemIndex of
   0: koef:=0.1;
   1: koef:=0.25;
   2: koef:=0.5;
   3: koef:=0.75;
   4: koef:=1;
   5: koef:=1.25;
   6: koef:=1.5;
   7: koef:=1.75;
   8: koef:=2;
   9: koef:=4;
 end;
 image1.Width:=round(GrayBMP.Width*koef);
 image1.Height:=round(GrayBMP.Height);  

в таком виде масштабирование происходит от 0 до 1, все что свыше все равно 1, а если поменять последние 2 строки на
image1.Width:=round(koef*GrayBMP.Width);
 image1.Height:=round(koef*GrayBMP.Height);

в этом случае все масштабируется нормально
такие приколы встречались в языках с неявным преобразованием типов.
Собственно вопрос - тема топика
Free pascal


 
[ВладОшин] ©   (2013-09-25 15:50) [1]

не может быть..
koef := 2;
koef :=  round(GrayBMP.Width*koef);
ShowMessage("%f",[koef ]); //и скока?

зы
case combobox1.ItemIndex of
  0: koef:=0.1;
 1..8: koef:=0.25 * combobox1.ItemIndex;
  9: koef:=4;
  else // влруг не выполняется вообще?


 
[ВладОшин] ©   (2013-09-25 15:51) [2]


> ShowMessage("%f %d",[koef, GrayBMP.Width ]); //и скока?


 
Германн ©   (2013-09-25 15:52) [3]

Какого типа переменная koef? И какого типа свойства Width и Height?


 
Вася   (2013-09-25 16:03) [4]

size :=  round(GrayBMP.Width*koef);
ShowMessage(inttostr(size));
- расчитывает правильно размер (и меньше единицы и меньше
сейчас вернул на место image1.Width:=round(GrayBMP.Width*koef);
image1.Height:=round(GrayBMP.Height);  
теперь все правильно считает - ничего больше не менял 8(


 
Вася   (2013-09-25 16:04) [5]

koef - real, Width и Height - integer


 
Туповатый ©   (2013-09-28 09:28) [6]


>  image1.Height:=round(GrayBMP.Height);  
.....
> а если поменять последние 2 строки на
....
>  image1.Height:=round(koef*GrayBMP.Height);

то ничего удивительного


 
Вася   (2013-09-30 11:09) [7]

Точно, протупил :)



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

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

Наверх





Память: 0.46 MB
Время: 0.002 c
2-1380565915
zibert
2013-09-30 22:31
2014.08.24
pred


2-1380744070
Антипов В.А.
2013-10-03 00:01
2014.08.24
Проблема с поддержкой латышских букв в программе


11-1251010071
Dy1
2009-08-23 10:47
2014.08.24
базы данных


2-1380528742
12345
2013-09-30 12:12
2014.08.24
не вызывается событие OnBeforePost


2-1380422621
Коля
2013-09-29 06:43
2014.08.24
Узнать заводской номер жёсткого диска





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