Есть проект, описанный ниже. Описание на английском, т.к. предполагается, что ваш уровень английского достаточен, чтобы в этом разобраться.

Просьба оценить в часах, сроках и по деньгам этот проект.

Implementation - Visual C/C++.

We need the following function to implement antialiased line drawing:

void DrawLineAA(

CDC *pDC, // targed drawing CDC

Point2D a, // line start. Point2D is struct {double x,y}

Point2D b, // line end

int width, // line width in pixels

int col=RGB(255,255,0), // line color

int dashed=0 // lined dashed style

)

If dashed=0, we have a solid line; if dashed >0, we have a dashed line, where each dash is dashed pixels long (so the line draws first dashed number of pixels, then skips next dashed number of pixels, then draws dashed number of pixels again, and so on). Antialiased means that the line blends smoothly with the background image, as shown below: the left line is aliased, and the right line is antialiased (this is what we need).

The main goal of this project is to make antialiased line drawing as fast as possible. In particular, when many multiple antialiased lines are drawn simultaneously over an image, they should note cause any visible flicker or drawing delays.

As with all our projects, you cannot use any third-party libraries. Your implementation should rely entirely on basic CDC drawing functions (MFC and Windows API).

Note that line end points “a” and “b” are given in double coordinates (which is why we use our Point2D type). Accommodating end points with non-integer coordinates is part of the antialiasing drawing. For the same reason, please consider supporting double width (instead of int width), if possible. This is how it is done in many imaging programs.

Use a mapping mode other then MM_TEXT (e.g. MM_HIMETRIC or MM_TWIPS) or system anti-aliasing drawing can be considered only if it will not affect the image display. In particular, we cannot blur the images – their quality will degrade. We already had to write our own bicubic image interpolation, because the one prowided in Windows is linear, and does not meet our quality standards.

все подробные и серьезные предложения (c детальной оценкой, воспросами по существу и др.) - просьба направлять по email [email protected]

Alex White.

16 лет назад
Teo
54 года
19 лет в сервисе
Был
9 лет назад

Заявки фрилансеров

Нет заявок фрилансеров