本文整理汇总了C++中ImgFile_Ptr::GetDrawMaskImg方法的典型用法代码示例。如果您正苦于以下问题:C++ ImgFile_Ptr::GetDrawMaskImg方法的具体用法?C++ ImgFile_Ptr::GetDrawMaskImg怎么用?C++ ImgFile_Ptr::GetDrawMaskImg使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ImgFile_Ptr
的用法示例。
在下文中一共展示了ImgFile_Ptr::GetDrawMaskImg方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddEditNode
/*!
pNodeを加算する。
@param[in] pNode
@param[in] lprc 更新範囲
*/
void ImgLayer::AddEditNode(EditNode *pNode, const LPRECT lprc)
{
if(!pNode) return;
RECT rc;
if (lprc) {
//更新範囲とコピー先範囲の論理積
AndRect(lprc, &(pNode->blt_rect), &rc);
}
else {
rc = pNode->blt_rect;
}
if (!pNode->isBakedWriteMap) {
//blt undo image
BltLayerUndoOp bltLayerUndoOp;
AllMaskOp allMaskOp;
pNode->undo_img.OperateBlt<BltLayerUndoOp, AllMaskOp>(
bltLayerUndoOp,
allMaskOp,
rc.left - pNode->node_rect.left,
rc.top - pNode->node_rect.top,
rc.right - rc.left,
rc.bottom - rc.top,
m_Img,
rc.left - m_LayerRect.left,
rc.top - m_LayerRect.top,
&(pNode->write_map),
rc.left - pNode->node_rect.left,
rc.top - pNode->node_rect.top);
//write pixel mark
WritePixelMark writePixelMark;
NormMaskOp normMaskOp;
pNode->write_map.OperateBlt<WritePixelMark, NormMaskOp>(
writePixelMark,
normMaskOp,
rc.left - pNode->node_rect.left,
rc.top - pNode->node_rect.top,
rc.right - rc.left,
rc.bottom - rc.top,
NULL,
0,
0,
&(pNode->edit_img),
rc.left - pNode->node_rect.left,
rc.top - pNode->node_rect.top);
}
//blt edit image
const IplImage* mask = NULL;
ImgFile_Ptr pParentFile = this->GetParentFile().lock();
if (pParentFile->GetMaskState() == IE_MASK_STATE_ID::VALID) {
mask = pParentFile->GetDrawMaskImg();
}
if (!m_IsLockPixelAlpha) {
LayerSynthesizerMG::BlendSynth<NormalCopy>(
pNode->fourcc,
1.0,
m_Img,
rc.left - m_LayerRect.left,
rc.top - m_LayerRect.top,
rc.right - rc.left,
rc.bottom - rc.top,
&(pNode->undo_img),
rc.left - pNode->node_rect.left,
rc.top - pNode->node_rect.top,
&(pNode->edit_img),
rc.left - pNode->node_rect.left,
rc.top - pNode->node_rect.top,
mask,
rc.left,
rc.top);
} else {
LayerSynthesizerMG::BlendSynth<AlphaLockCopy>(
pNode->fourcc,
1.0,
m_Img,
rc.left - m_LayerRect.left,
rc.top - m_LayerRect.top,
rc.right - rc.left,
rc.bottom - rc.top,
&(pNode->undo_img),
rc.left - pNode->node_rect.left,
rc.top - pNode->node_rect.top,
&(pNode->edit_img),
rc.left - pNode->node_rect.left,
rc.top - pNode->node_rect.top,
mask,
rc.left,
rc.top);
}
}