Форум: "Начинающим";
Текущий архив: 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);
теперь все правильно считает - ничего больше не менял 8(
image1.Height:=round(GrayBMP.Height);
← →
Вася (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