123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #include "cdrapp.h"
- // sr.ApplyUniformFill CreateCMYKColor(0, 100, 100, 0)
- bool fill_red(corel *cdr)
- {
- auto sr = cdr->ActiveSelectionRange;
- auto red = cdr->CreateCMYKColor(0, 100, 100, 0);
- sr->ApplyUniformFill(red);
- return true;
- }
- bool cql_OutlineColor(corel *cdr)
- {
- auto col = cdr->CreateCMYKColor(0, 100, 100, 0);
- auto s = cdr->ActiveShape;
- col-> CopyAssign(s->Outline->Color);
- col->ConvertToRGB();
- auto r = col->RGBRed;
- auto g = col->RGBGreen;
- auto b = col->RGBBlue;
- char buf[256] = { 0 };
- sprintf(buf, "@Outline.Color.rgb[.r='%d' And .g='%d' And .b='%d']", r, g, b);
- auto cql = _bstr_t(buf);
- // MessageBox(NULL, cql, "cql 轮廓颜色", MB_ICONSTOP);
- auto sr = cdr->ActivePage->Shapes->FindShapes(_bstr_t(), cdrNoShape, VARIANT_TRUE, cql);
- sr->CreateSelection();
- strcpy(infobuf , buf);
- return true;
- }
- bool cql_FillColor(corel *cdr)
- {
- auto col = cdr->CreateCMYKColor(0, 100, 100, 0);
- auto s = cdr->ActiveShape;
- col-> CopyAssign(s->Fill->UniformColor);
- col->ConvertToRGB();
- auto r = col->RGBRed;
- auto g = col->RGBGreen;
- auto b = col->RGBBlue;
- char buf[256] = { 0 };
- sprintf(buf, "@Fill.Color.rgb[.r='%d' And .g='%d' And .b='%d']", r, g, b);
- auto cql = _bstr_t(buf);
- auto sr = cdr->ActivePage->Shapes->FindShapes(_bstr_t(), cdrNoShape, VARIANT_TRUE, cql);
- sr->CreateSelection();
- strcpy(infobuf , buf);
- return true;
- }
- bool cql_SameSize(corel *cdr)
- {
- cdr->ActiveDocument->Unit = cdrMillimeter;
- auto s = cdr->ActiveShape;
- char buf[256] = { 0 };
- sprintf(buf, "@width = {%lf mm} and @height = {%lf mm}", s->SizeWidth, s->SizeHeight);
- auto cql = _bstr_t(buf);
- // MessageBox(NULL, cql, "cql 尺寸相同", MB_ICONSTOP);
- auto sr = cdr->ActivePage->Shapes->FindShapes(_bstr_t(), cdrNoShape, VARIANT_TRUE, cql);
- sr->CreateSelection();
- strcpy(infobuf , buf);
- return true;
- }
- bool Shapes_Filp(corel *cdr)
- {
- BeginOpt(cdr);
- auto sr = cdr->ActiveSelectionRange;
- // CorelDRAW Shapes 物件 Item 编号从1开始
- for (auto i = 0; i != sr->Count; i++)
- sr->Shapes->Item[i + 1]->Flip(VGCore::cdrFlipHorizontal);
- EndOpt(cdr);
- return true;
- }
- bool Clear_Fill(corel *cdr)
- {
- cdr->ActiveSelection->Fill->ApplyNoFill();
- return true;
- }
|