本文整理汇总了C++中VectorImage::addCurve方法的典型用法代码示例。如果您正苦于以下问题:C++ VectorImage::addCurve方法的具体用法?C++ VectorImage::addCurve怎么用?C++ VectorImage::addCurve使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VectorImage
的用法示例。
在下文中一共展示了VectorImage::addCurve方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mouseReleaseEvent
void PenTool::mouseReleaseEvent( QMouseEvent *event )
{
Layer* layer = mEditor->layers()->currentLayer();
if ( event->button() == Qt::LeftButton )
{
if ( isLayerPaintable( layer ) )
{
drawStroke();
}
if ( layer->type() == Layer::BITMAP )
{
mScribbleArea->paintBitmapBuffer();
mScribbleArea->setAllDirty();
}
else if ( layer->type() == Layer::VECTOR && mStrokePoints.size() > -1 )
{
// Clear the temporary pixel path
mScribbleArea->clearBitmapBuffer();
qreal tol = mScribbleArea->getCurveSmoothing() / mEditor->view()->scaling();
BezierCurve curve( mStrokePoints, mStrokePressures, tol );
curve.setWidth( properties.width );
curve.setFeather( properties.feather );
curve.setInvisibility( false );
curve.setVariableWidth( properties.pressure );
curve.setColourNumber( mEditor->color()->frontColorNumber() );
auto pLayerVector = static_cast< LayerVector* >( layer );
VectorImage* vectorImage = pLayerVector->getLastVectorImageAtFrame( mEditor->currentFrame(), 0 );
vectorImage->addCurve( curve, mEditor->view()->scaling() );
mScribbleArea->setModified( mEditor->layers()->currentLayerIndex(), mEditor->currentFrame() );
mScribbleArea->setAllDirty();
}
}
endStroke();
}
示例2: paintVectorStroke
void PencilTool::paintVectorStroke(Layer* layer)
{
if (mStrokePoints.empty())
return;
// Clear the temporary pixel path
mScribbleArea->clearBitmapBuffer();
qreal tol = mScribbleArea->getCurveSmoothing() / mEditor->view()->scaling();
BezierCurve curve(mStrokePoints, mStrokePressures, tol);
curve.setWidth(0);
curve.setFeather(0);
curve.setFilled(false);
curve.setInvisibility(true);
curve.setVariableWidth(false);
curve.setColourNumber(mEditor->color()->frontColorNumber());
VectorImage* vectorImage = ((LayerVector *)layer)->getLastVectorImageAtFrame(mEditor->currentFrame(), 0);
vectorImage->addCurve(curve, qAbs(mEditor->view()->scaling()), properties.vectorMergeEnabled);
if (properties.useFillContour)
{
vectorImage->fillContour(mStrokePoints,
mEditor->color()->frontColorNumber());
}
if (vectorImage->isAnyCurveSelected() || mScribbleArea->isSomethingSelected())
{
mScribbleArea->deselectAll();
}
// select last/newest curve
vectorImage->setSelected(vectorImage->getLastCurveNumber(), true);
// TODO: selection doesn't apply on enter
mScribbleArea->setModified(mEditor->layers()->currentLayerIndex(), mEditor->currentFrame());
mScribbleArea->setAllDirty();
}