그동안 어시스터 페이스북 페이지 통해 다양한 종류의 포토샵 플러그인(포토샵에 추가로 설치하여 사용하는 확장성 프로그램) 소개해드렸는데요. 오늘은 중에서도 팬분들의 반응이 가장 ''했던 5가지 무료 플러그인을 위트 스튜디오 블로그에 모아보았습니다.


1. 크기만 키우면 깨지던 픽셀을 벡터로!! - 픽셀 2 벡터 컨버터(Pixcel 2 Vector Converter)

비트맵 이미지 파일 확대하다가 픽셀이 깨져버린적, 다들 있으시죠? 픽셀2벡터는 픽셀 이미지를 벡터 형태로 변환시켜주는 무료 포토샵 플러그인 입니다링크 왼쪽 'FREE PIXEL TO VECTOR CONVERTER' 클릭하시고 무료로 다운 받으세요.


2. 복잡하고 많은 레이어 정리를 한번에!! - 레이어 컨트롤(Layrs Control)

무아지경에 빠져 디자인 작업을 하다보면 어느새 레이어가 뒤죽박죽, 일일이 이름을 고쳐주자니 끝이 없을것 같고...바로 그런 분들을 위해 준비했습니다무료 포토샵 플러그인 Layrs Control 한번에 여러 레이어의 이름을 정리 뿐만 아니라 '사용하지 않는 효과 제거하기' / '효과 레스터라이징 하기' / ' 레이어 지우기' / '스마트 오브젝트 레스터라이징 하기' 다양한 기능을 제공합니다무료인 대신 트윗 혹은 페이스북 공유를 남겨주셔야만 다운로드가 가능하다는 점, 잊지마세요 :)


3. 더 이상의 번거로운 Ctrl+Shift+Alt+S는 이제 그만!! - 세이브 패널(Save Panel)

세이브 패널을 이용하면 한번의 설정으로 다양한 사이즈와 형태로 저장이 가능하답니다! Save Panel은 이름처럼 파일 저장을 도와주는 포토샵 플러그인이에요. 링크를 클릭하신 후 가격(Price)에 쓰여 있는 숫자를 0으로 바꾸시면 무료로 사용 하실 수 있습니다.



4. 브라우저를 오갈 필요 없이 포토샵 안에서 검색과 다운로드를 한번에!! - 플랫아이콘(Flat Icon)

플랫 디자인 할 때 마다 벡터 아이콘 찾느라 힘드셨죠? 약 4만개의 아이콘 디자인 데이터베이스를 보유하고 있는 Flat Icon의 무료 아이콘 플러그인을 소개합니다. 무료 아이콘이긴 하지만 상업적으로 사용시에는 출처를 밝히는걸 꼭 잊지 말아주세요!


5. 포토샵에서 다양한 벡터 이미지를 검색 & 다운로드 해보자!! - 블렌드미.인(BlendMe.In)

플랫아이콘이 아이콘을 검색해주는 플러그인이라면 블렌드미.인은 아이콘 외에도 다양한 벡터 이미지를 검색해주는 플러그인입니다. 포토샵 뿐만 아니라 일러스트레이터에서도 사용할 수 있는만큼 다양한 방식으로 벡터 이미지 편집이 가능합니다.


어떠신가요? 위의 내용들이 조금이나마 도움 되셨나요아쉽게도 몇몇 플러그인은 CS3, CS4 등 낮은 버전의 포토샵에서는 사용이 불가한데요. 위트 스튜디오에서 제작한 어시스터 PS는 좀 더 다양한 국내 포토샵 유저층을 고려하여 포토샵 내부 플러그인이 아닌 외부 도우미 툴 형태의 소프트웨어로 제작되었습니다. 덕분에 미처 새로운 버전의 포토샵을 구입하지 못한 포토샵 CS3 유저들까지도 어시스터 PS의 사용이 가능한데요. 외부 툴이라는 특성 때문에 기존의 플러그인들과는 다르게 좀 더 지속적이고 원활한 업데이트가 가능할 뿐 아니라 윈도우 버전의 경우 동시 복수 실행을 통해 한번에 다양한 기능을 사용 할 수도 있죠.

어시스터 PS 소개영상


위에 소개해드린 플러그인들은 모두 어시스터 팀에서 직접 사용해본 여러분께 추천해드리는 것들입니다. 무료 플러그인 인만큼 지속적인 관리나 서비스를 기대하기는 힘들겠지만 잘만 사용하시면 업무시간을 단축시키는데 충분히 도움이 있으리라 생각합니다앞으로도 칼퇴를 도와드릴 다양한 자료와 함께 어시스터 페이스북으로 찾아 뵙도록 할 예정이니 놓치지 마세요!



블로그 추천글

GUI 디자이너가 저지르기 쉬운 실수 3 

절대 지켜져야만 하는 UI 디자인의 7가지 법칙

 나은 디자이너가 되기 위한 6가지 방법

그래픽 디자인을 잘하기 위한 10가지 습관

디자이너가 굳이 코딩을 배워야 할까?


신고

Introduction

WPF Application을 개발할때 동적인 리소스를 활용하기 위해 DynamicResource를 이용합니다. 동일한 내용의 리소스를 메모리에 여러번 올리지 않기 때문에, 메모리 효율이나 퍼모먼스면에서 좋은 효과를 낼수 있습니다. 하지만, DynamicResource의 경우 XAML상에서 한번 지정하면(혹은 지정하지 않으면) 런타임상에서 지정이 불가능하기 때문에 당혹스러울 때가 많습니다.

MSDN에서는 이러한 상황을 위해 FrameworkElement수준에서 SetResourceReference를 제공하고 있지만, FrameworkElement가 아닌 DependencyObject 수준에서는 역시나 제어가 불가능 하기 때문에 완전한 해결방법이라고는 할 수 없습니다. 대표적인 예로 Brush의 경우 DependencyObject에서 Freezable, Animatable을 거쳐 파생된 클래스이기 때문에 SetResourceReference를 이용한 Runtime상에서의 DynamicResource를 지정할수 없습니다.

이번시간에는 Runtime상의 DependencyObject 수준에서 DynamicResource를 지정하는 방법에 대해 소개합니다. 위 동영상은 이번시간에 사용되는 데모 동영상입니다.

DynamicResourceExpression

먼저 우리가 XAML에서 DynamicResource를 지정하고 해당 Property에 DynamicResource가 지정되는 과정을 간략하게 표현하면 위 그림과 같이 표현 할 수 있습니다. XAML에서 DynamicResource MarkupExtension을 이용해 DynamicResource를 정의하면 DynamicResourceExtension객체가 생성되고 DynamicResourceExtension의 ProvideValue()를 통해 Dependency Property에 지정 가능한 ResourceReferenceExpression이 생성됩니다. 생성된 Expression은 최종적으로 DependencyObject의 SetValue메서드를 통해 해당 Property에 DynamicResource Reference가 생성되게 됩니다.

DependencyObject에 SetValue를 통해 Expression이 입력되는것을 확인 하고, 직접 ResourceReferenceExpression 객체를 입력하기 위해 ResourceReferenceExpression 생성하려고하면 문제가 발생합니다. ResourceReferenceExpression 가 상속받은 Expression 클래스의 경우 WPF 인프라를 지원하기 위해 제작된 클래스로, 사용자 코드에서 직접 엑세스가 불가능하기 때문입니다.

그럼 한단계 돌아가서 DynamicResourceExtension을 이용해 ResourceReferenceExpression을 생성하는 방법을 이용해 보겠습니다. DynamicResourceExtension의 경우 MarkupExtension을 상속받은 클래스기 때문에 사용자코드에서 생성하고 ProvideValue 메서드 또한 호출이 가능합니다. 아래 코드는 DynamicResourceExtension을 이용해 ResourceReferenceExpression을 생성하고 대상 DependencyObject에 Expression을 지정하는 코드입니다.


일반적으로 ProvideValue를 호출하기 위해 파라미터로 IServiceProvider를 제공해야하지만, 다행히도 DynamicResourceExtension의 경우 내부적으로 IServiceProvider를 제공하지 않더라도 사용가능하기 때문에 파라미터에 null을 입력하는것으로 Expression을 생성할 수 있습니다. 

실제 코드에서 사용할 때에는 위와 같이 ExtensionMethod를 이용해 Behid Code에서 DependencyObject에 DynamicResource를 지정해서 사용할 수 있습니다. 첨부파일은 이번시간에 사용한 데모 프로그램의 소스코드입니다.

신고