本文整理汇总了C++中VectorImage::paste方法的典型用法代码示例。如果您正苦于以下问题:C++ VectorImage::paste方法的具体用法?C++ VectorImage::paste怎么用?C++ VectorImage::paste使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VectorImage
的用法示例。
在下文中一共展示了VectorImage::paste方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: duplicateKey
void Editor::duplicateKey()
{
Layer* layer = mObject->getLayer( layers()->currentLayerIndex() );
if ( layer != NULL )
{
if ( layer->type() == Layer::VECTOR )
{
mScribbleArea->selectAll();
clipboardVectorOk = true;
g_clipboardVectorImage = *( ( ( LayerVector* )layer )->getLastVectorImageAtFrame( currentFrame(), 0 ) ); // copy the image (that works but I should also provide a copy() method)
addNewKey();
VectorImage* vectorImage = ( ( LayerVector* )layer )->getLastVectorImageAtFrame( currentFrame(), 0 );
vectorImage->paste( g_clipboardVectorImage ); // paste the clipboard
mScribbleArea->setModified( layers()->currentLayerIndex(), currentFrame() );
mScribbleArea->update();
}
if ( layer->type() == Layer::BITMAP )
{
mScribbleArea->selectAll();
copy();
addNewKey();
paste();
}
}
}
示例2: importVectorImage
bool Editor::importVectorImage( QString filePath )
{
Q_ASSERT( layers()->currentLayer()->type() == Layer::VECTOR );
backup( tr( "ImportImg" ) );
auto layer = static_cast<LayerVector*>( layers()->currentLayer() );
VectorImage* vectorImage = ( ( LayerVector* )layer )->getVectorImageAtFrame( currentFrame() );
if ( vectorImage == NULL )
{
addNewKey();
vectorImage = ( ( LayerVector* )layer )->getVectorImageAtFrame( currentFrame() );
}
VectorImage* importedVectorImage = new VectorImage;
bool ok = importedVectorImage->read( filePath );
if ( ok )
{
importedVectorImage->selectAll();
vectorImage->paste( *importedVectorImage );
}
/*
else
{
QMessageBox::warning( mMainWindow,
tr( "Warning" ),
tr( "Unable to load vector image.<br><b>TIP:</b> Use Vector layer to import vectors." ),
QMessageBox::Ok,
QMessageBox::Ok );
}
*/
return ok;
}
示例3: importVectorImage
bool Editor::importVectorImage(QString filePath)
{
Q_ASSERT(layers()->currentLayer()->type() == Layer::VECTOR);
auto layer = static_cast<LayerVector*>(layers()->currentLayer());
VectorImage* vectorImage = (static_cast<LayerVector*>(layer))->getVectorImageAtFrame(currentFrame());
if (vectorImage == nullptr)
{
addNewKey();
vectorImage = (static_cast<LayerVector*>(layer))->getVectorImageAtFrame(currentFrame());
}
VectorImage importedVectorImage;
bool ok = importedVectorImage.read(filePath);
if (ok)
{
importedVectorImage.selectAll();
vectorImage->paste(importedVectorImage);
backup(tr("Import Image"));
}
return ok;
}
示例4: paste
void Editor::paste()
{
if((cutFlag||copyFlag)&&layers()->currentLayerIndex()>2)
{
newBitmapLayer();
}
Layer* layer = mObject->getLayer( layers()->currentLayerIndex() );
if ( layer != NULL )
{
if ( layer->type() == Layer::BITMAP && g_clipboardBitmapImage.image() != NULL )
{
backup( tr( "Paste" ) );
BitmapImage tobePasted = g_clipboardBitmapImage.copy();
qDebug() << "to be pasted --->" << tobePasted.image()->size();
if ( mScribbleArea->somethingSelected )
{
QRectF selection = mScribbleArea->getSelection();
if ( g_clipboardBitmapImage.width() <= selection.width() && g_clipboardBitmapImage.height() <= selection.height() )
{
tobePasted.moveTopLeft( selection.topLeft() );
}
else
{
tobePasted.transform( selection, true );
}
}
auto pLayerBitmap = static_cast< LayerBitmap* >( layer );
pLayerBitmap->getLastBitmapImageAtFrame( currentFrame(), 0 )->paste( &tobePasted ); // paste the clipboard
}
else if ( layer->type() == Layer::VECTOR && clipboardVectorOk )
{
backup( tr( "Paste" ) );
mScribbleArea->deselectAll();
VectorImage* vectorImage = ( ( LayerVector* )layer )->getLastVectorImageAtFrame( currentFrame(), 0 );
vectorImage->paste( g_clipboardVectorImage ); // paste the clipboard
mScribbleArea->setSelection( vectorImage->getSelectionRect(), true );
//((LayerVector*)layer)->getLastVectorImageAtFrame(backupFrame, 0)->modification(); ????
}
}
mScribbleArea->updateCurrentFrame();
if((cutFlag&&!mScribbleArea->somethingSelected)||(copyFlag&&mScribbleArea->somethingSelected))
{
mScribbleArea->mySelection=cutArea;
mScribbleArea->setSelection( mScribbleArea->mySelection, true );
mScribbleArea->myTransformedSelection = mScribbleArea->mySelection.adjusted( 0, 0, 0, 0 );
mScribbleArea->myTempTransformedSelection = mScribbleArea->mySelection.adjusted( 0, 0, 0, 0 );
mScribbleArea->update();
mScribbleArea->mIncludeImg[mLayerManager->currentLayerIndex()]=mScribbleArea->mySelection;
tools()->setCurrentTool(MOVE);
}
cutFlag =0;
copyFlag =0;
}
示例5: importVectorImage
bool Editor::importVectorImage( QString filePath )
{
Q_ASSERT( layers()->currentLayer()->type() == Layer::VECTOR );
backup( tr( "ImportImg" ) );
auto layer = static_cast<LayerVector*>( layers()->currentLayer() );
VectorImage* vectorImage = ( ( LayerVector* )layer )->getVectorImageAtFrame( currentFrame() );
if ( vectorImage == NULL )
{
addNewKey();
vectorImage = ( ( LayerVector* )layer )->getVectorImageAtFrame( currentFrame() );
}
// 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( mScribbleArea->usePressure() );
// 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();
VectorImage* importedVectorImage = new VectorImage;
bool ok = importedVectorImage->read( filePath );
if ( ok )
{
importedVectorImage->selectAll();
vectorImage->paste( *importedVectorImage );
}
/*
else
{
QMessageBox::warning( mMainWindow,
tr( "Warning" ),
tr( "Unable to load vector image.<br><b>TIP:</b> Use Vector layer to import vectors." ),
QMessageBox::Ok,
QMessageBox::Ok );
}
*/
return ok;
}
示例6: paste
void Editor::paste()
{
Layer* layer = mObject->getLayer( layers()->currentLayerIndex() );
if ( layer != NULL )
{
if ( layer->type() == Layer::BITMAP && g_clipboardBitmapImage.image() != NULL )
{
backup( tr( "Paste" ) );
BitmapImage tobePasted = g_clipboardBitmapImage.copy();
qDebug() << "to be pasted --->" << tobePasted.image()->size();
if ( mScribbleArea->somethingSelected )
{
QRectF selection = mScribbleArea->getSelection();
if ( g_clipboardBitmapImage.width() <= selection.width() && g_clipboardBitmapImage.height() <= selection.height() )
{
tobePasted.moveTopLeft( selection.topLeft() );
}
else
{
tobePasted.transform( selection, true );
}
}
auto pLayerBitmap = static_cast< LayerBitmap* >( layer );
pLayerBitmap->getLastBitmapImageAtFrame( currentFrame(), 0 )->paste( &tobePasted ); // paste the clipboard
}
else if ( layer->type() == Layer::VECTOR && clipboardVectorOk )
{
backup( tr( "Paste" ) );
mScribbleArea->deselectAll();
VectorImage* vectorImage = ( ( LayerVector* )layer )->getLastVectorImageAtFrame( currentFrame(), 0 );
vectorImage->paste( g_clipboardVectorImage ); // paste the clipboard
mScribbleArea->setSelection( vectorImage->getSelectionRect(), true );
//((LayerVector*)layer)->getLastVectorImageAtFrame(backupFrame, 0)->modification(); ????
}
}
mScribbleArea->updateCurrentFrame();
}