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

Вниз

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

 
Вася   (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;
Скачать: CL | DM;

Наверх




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


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


15-1390920271
ухты
2014-01-28 18:44
2014.08.24
Когда выборы


15-1390592076
Дмитрий СС
2014-01-24 23:34
2014.08.24
Выдача сдачи наличными.


15-1390656072
Jimmy
2014-01-25 17:21
2014.08.24
Карточные игры