本文整理汇总了C++中DImg::fill方法的典型用法代码示例。如果您正苦于以下问题:C++ DImg::fill方法的具体用法?C++ DImg::fill怎么用?C++ DImg::fill使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DImg
的用法示例。
在下文中一共展示了DImg::fill方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DImg
void BorderFilter::solid2(DImg& src, DImg& dest, const DColor& fg, int borderWidth)
{
dest = DImg(src.width() + borderWidth * 2, src.height() + borderWidth * 2,
src.sixteenBit(), src.hasAlpha());
dest.fill(fg);
dest.bitBltImage(&src, borderWidth, borderWidth);
}
示例2: solid
void BorderFilter::solid(DImg& src, DImg& dest, const DColor& fg, int borderWidth)
{
if (d->settings.orgWidth > d->settings.orgHeight)
{
int height = src.height() + borderWidth * 2;
dest = DImg((int)(height * d->orgRatio), height, src.sixteenBit(), src.hasAlpha());
dest.fill(fg);
dest.bitBltImage(&src, (dest.width() - src.width()) / 2, borderWidth);
}
else
{
int width = src.width() + borderWidth * 2;
dest = DImg(width, (int)(width / d->orgRatio), src.sixteenBit(), src.hasAlpha());
dest.fill(fg);
dest.bitBltImage(&src, borderWidth, (dest.height() - src.height()) / 2);
}
}
示例3: bevel
void BorderFilter::bevel(DImg& src, DImg& dest, const DColor& topColor,
const DColor& btmColor, int borderWidth)
{
int width, height;
if (d->settings.orgWidth > d->settings.orgHeight)
{
height = src.height() + borderWidth * 2;
width = (int)(height * d->orgRatio);
}
else
{
width = src.width() + borderWidth * 2;
height = (int)(width / d->orgRatio);
}
dest = DImg(width, height, src.sixteenBit(), src.hasAlpha());
dest.fill(topColor);
QPolygon btTriangle(3);
btTriangle.setPoint(0, width, 0);
btTriangle.setPoint(1, 0, height);
btTriangle.setPoint(2, width, height);
QRegion btRegion(btTriangle);
// paint upper right corner
QPoint upperRightCorner((width - ((width - src.width()) / 2) - 2),
((0 + (height - src.height())) / 2 + 2)
);
for (int x = upperRightCorner.x(); x < width; ++x)
{
for (int y = 0; y < upperRightCorner.y(); ++y)
{
if (btRegion.contains(QPoint(x, y)))
{
dest.setPixelColor(x, y, btmColor);
}
}
}
// paint right border
for (int x = upperRightCorner.x(); x < width; ++x)
{
for (int y = upperRightCorner.y(); y < height; ++y)
{
dest.setPixelColor(x, y, btmColor);
}
}
// paint lower left corner
QPoint lowerLeftCorner((0 + ((width - src.width()) / 2) + 2),
(height - ((height - src.height()) / 2) - 2)
);
for (int x = 0; x < lowerLeftCorner.x(); ++x)
{
for (int y = lowerLeftCorner.y(); y < height; ++y)
{
if (btRegion.contains(QPoint(x, y)))
{
dest.setPixelColor(x, y, btmColor);
}
}
}
// paint bottom border
for (int x = lowerLeftCorner.x(); x < width; ++x)
{
for (int y = lowerLeftCorner.y(); y < height; ++y)
{
dest.setPixelColor(x, y, btmColor);
}
}
if (d->settings.orgWidth > d->settings.orgHeight)
{
dest.bitBltImage(&src, (dest.width() - src.width()) / 2, borderWidth);
}
else
{
dest.bitBltImage(&src, borderWidth, (dest.height() - src.height()) / 2);
}
}