Illustrator javascript 및 C#의 PageItem
메일 대상
illustrator의 대상은 그룹Item,PathItem 등 각양각색의 종류가 있다
그런 작은 종류로 분류되지 않고 우선 모든 대상이 있다. 바로
PageItem 및 PageItems
예를 들어서 레이어에 Group, Path, CompoundPath 등 다양한 것들이 들어가 있어요.
참조할 속성은 디스플레이 상태 또는 잠금 상태 등입니다.
모든 객체가 공통으로 사용되는 경우 PageItem을 사용하는 것이 더 쉽습니다.
※ 어떤 대상인지 판단할 필요 없음
따라서 PageItem을 자주 사용합니다.
예를 들어, PageItems를 회전하여 각 PageItem의 속성에 액세스하는 경우
javascript는 다음과 같다
pageItem.jsfor(var i = 0; i < layer.pageItems.length; i++){
var pageItem = layer.pageItems[i];
$.writeln(pageItem.locked);
$.writeln(pageItem.visible);
}
C#일 경우...(↓ 컴파일 오류)
그러나 C#의 경우 PageItems는 있지만 PageItem은 없습니다...
pageItem.csforeach (PageItem pageItem in pageItems)
{
Console.WriteLine(pageItem.Locked));
Console.WriteLine(pageItem.Visible));
}
그럼 var로 하면 되지 않을까요?
var로 바꾸면 틀이 Object가 됩니다.
그나저나 원래 PageItem 자체가 없기 때문에 틀 추론도 쓰레기도 없다.
어떻게 하면 좋을까요?
그 활기찬 녀석이 여기 등장하다니
C# 정답입니다.
pageItem.csforeach (dynamic pageItem in pageItems)
{
Console.WriteLine(pageItem.Locked));
Console.WriteLine(pageItem.Visible));
}
이름처럼dynamic
여기에dynamic의 설명이 없지만 대체적으로 실행하기 전에 모델인 자바스크립트의 var을 몰랐습니다
PageItem을 설치하지 않고 dynamic 사양을 사용하는 이유를 알 수 없습니다.
C#에서 PageItem을 사용할 때 이 방법을 사용할 수 있을 것 같습니다.
다만 실행할 때 형식을 알지 못하기 때문에 IDE 속성의 후보는 큰 글자와 작은 글자 등의 오자가 나오지 않는다. 번역 오류도 알려주지 않기 때문에 그곳은 약간 미묘하다.
Reference
이 문제에 관하여(Illustrator javascript 및 C#의 PageItem), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sst_2b/items/b823cbef9649b14dce7d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
for(var i = 0; i < layer.pageItems.length; i++){
var pageItem = layer.pageItems[i];
$.writeln(pageItem.locked);
$.writeln(pageItem.visible);
}
foreach (PageItem pageItem in pageItems)
{
Console.WriteLine(pageItem.Locked));
Console.WriteLine(pageItem.Visible));
}
foreach (dynamic pageItem in pageItems)
{
Console.WriteLine(pageItem.Locked));
Console.WriteLine(pageItem.Visible));
}
Reference
이 문제에 관하여(Illustrator javascript 및 C#의 PageItem), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sst_2b/items/b823cbef9649b14dce7d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)