我必须绘制具有(3000.00,4500.45)更大的double值的Lines。
CImg<unsigned char> img(800,800,1,3,20);
img.draw_line( 3000.00, 4500.45, 3478.567, 4500.45, RED);
但我想将屏幕尺寸限制为800x800
我想在800点以内取点坐标的模量
3000.00%800 = 600
我的屏幕可以装600块。但是问题是,CPP不支持双值模量。
double a = 3000.00;
printf("%lf",a%800.0); //Expected 600 but exception
**Invalid operand of type double,double to binary operator%**
我如何使用CImg在屏幕上显示这些大点?
一切都取决于您实际想要执行的操作:
CImg<T>::draw_line()
方法实现裁剪,它将自动为您执行此操作。int
,然后再使用%
运算符:img.draw_line( ((int)x0)%800, ((int)y0)%800, ((int)x1)%800, ((int)y1)%800, RED);
但是请注意,将要绘制的线与原始线无关:进行模运算不是绘制线的裁剪方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句