bookmark_border모니터 피벗 기능 구현

몇일전 아내를 설득해서(사달라고 졸라서;;) 모니터 암을 구매 했다.

모니터 암은 에이스힌지택 제품이 튼튼하고 사용기가 모두 좋아서 그것을 선택 했다.

주 목적은 집에서 사용하는 27인치 FSM-270HV LED 모델로 퍼스트 라는 중소기업 제품을 모니터 암을 이용해 활용도를 높이자는 것 이었다. 마운트 부분의 받침대가 너무 크고, 높낮이 조절이나 피벗기능등이 없고, 무거워서 뭔가 좀 아쉬웠던 제품이다.

얼마전 오래간만에 그림을 그렸는데 이게 너무 불편하더라-_-. 그래서 구매를 하기로 마음 먹었다.

구매한 제품은 요제품. 주문할때 책상 두께 및 모니터 무게등을 알려줘야 한다.

뭐 여튼간에 위 제품에 대한 후기 및 설치 사례 등은 타 블로거 분들께서 잘 포스팅 해 두었기 때문에 넘어가도록 한다.

가장 큰 문제는 모니터였다. 어떤분께서 포스팅 한 글을 보니 내 모니터와 동일한 기종을 사용하셨는데 엄청난 삽질끝에 마운트를 분리했다는 글이 써 있었다. 난 그때 그게 어떤 의미인지 몰랐다.

이제품이 바로 문제의 그 모니터. 내가 사용하고 있는 제품이다.

일단 위 모니터 이미지를 보면 하단 받침대는 받침대 바닥에 있는 나사를 풀어 쉽게 제거 할 수 있다. 문제는 마운트부분…

사진찍는걸 깜빡해서 다나와 이미지를 가져다 쓴다-_-.. 상업적 용도는 아니니.. 이미지 출처는 http://www.danawa.co.kr/

위의 붉은 상자부분..저부분을 제거하기 위해 무단한 노력이 필요하다. 하지만 모니터 암에 달게 되면…뭔가 걸리적 거릴것 같은 느낌이 분명 들어서..ㅡㅡ… 제거 하기로 마음 먹었다.

일단 저걸 제거 하려고 마음 먹으신 분이 계시다면 AS가 문제 됩니다. 저야 이걸 분리했다고 포스팅까지 썼으니 뭐 AS 는 글렀군요..ㅡㅡ;;

저 부분을 제거 하기 위해서는 모니터를 뜯어야 한다!!!

일단 위에 붉은 동그라미 된부분을 다 들어 낸다. 뒤에 있는 나사는 다빼면 된다고 생각하면 될듯… 그런뒤 모니터를 뒤집어야 하는데, 나사를 제거하면 모니터 전면 베젤 부분이 쉽게 분리 된다.

베젤 부분을 분리하면 위와 같이 되는데… 페널 주면의 고정 나사를 제거해야 한다. 나사는 좌측, 우측, 상단에 각각 있다.

패널의 나사를 제거하고 패널을 들어 올리면 마운트를 고정하고 있는 나사를 확인 할 수 있다.

저것들을 제거하고 마운트를 제거한뒤 역순으로 조립조립~

설치완료!!!

이걸 설치 완료 하기 위해 무려 두시간을 투자 했다. 사실 모니터암을 설치하는데 시간은 별로 안걸리는데, 마운트 제거 하는 법을 몰라 여기저기 나사를 다 풀어 보느라 시간을 허비했다.

처음엔 설마 마운트 제거를 위해 모니터를 뜯어야 할까..라고 생각했는데-_-…

일단 설치하고 나니 뿌듯하다.

Tip . 모니터 뒷 부분에 모니터 암과 모니터를 고정시켜주는 부분의 나사는 두가지가 제공되는데, 위 모니터 기종은 짧은 나사가 맞습니다. 긴나사는 다 안들어가욤~

bookmark_border포토샵 스크립트 (낙관및 사진정보 삽입하기)

#target photoshop


//현재 열려있는 파일중 가장 위로 보여지는 파일 선택
app.bringToFront();


//현재 단위정보 기록
var strtRulerUnits = app.preferences.rulerUnits;
var strtTypeUnits = app.preferences.typeUnits;


//기본 유닛 단위 = 픽셀
app.preferences.rulerUnits = Units.PIXELS;


//픽셀로 지정해도 포인트로 처리되는 경우가 있어서 포인트로 처리
app.preferences.typeUnits = TypeUnits.POINTS;


//사진 정보 객체
var exif = app.activeDocument.info.exif;
//사진에 있는 메타 데이터를 가져온다.
 var xmp = app.activeDocument.xmpMetadata;
var fullstring = xmp[“rawData”].toString();
//렌즈의 모델명을 가져온다.
var lens =fullstring.substring(fullstring.indexOf (“<aux:Lens>”, 0)+10,fullstring.indexOf (“</aux:Lens>”, 0));
//alert(lens);
// 노출 보정량 가져오기
var ExposureBias  = fullstring.substring(fullstring.indexOf (“<exif:ExposureBiasValue>”, 0)+24,fullstring.indexOf (“</exif:ExposureBiasValue>”, 0));
var strarr =ExposureBias.split(“/”);
ExposureBias = (strarr[0] / strarr[1]).toFixed (2);
ExposureBias += “EV”;


alert(ExposureBias);


// suppress all dialogs
app.displayDialogs = DialogModes.NO;


//텍스트 레이어의 기본 색상 정의 : 검정색
var textColor = new SolidColor;
textColor.rgb.red = 0;
textColor.rgb.green = 0;
textColor.rgb.blue = 0;


//사진정보 문장을 저장할 변수 선언
var exifDoc = “”;


// 사진정보의 명칭에서 찾을 내용과 찾은 결과를 저장하는 배열
// 포토샵 영문버젼에서는 Exif정보도 모두 영문이더군요…그래서 추가합니다.
//              한글검색어,       영문검색어,           찾은결과
var setExif = [[“모델”,           “Model”,              “”]
              ,[“원본 날짜 시간”, “Date Time Original”, “”]
              ,[“ISO 속도율”,     “ISO Speed Ratings”,  “”]
              ,[“노출 시간”,      “Exposure Time”,      “”]
              ,[“F-스톱”,         “F-Stop”,             “”]
              ,[“초점 거리”,      “Focal Length”,       “”]
              ,[“플래시”,         “Flash”,              “”]
              ,[“흰색 균형”,      “White Balance”,      “”]
              ,[“렌즈”,      “LensModel”,      “”]
              ,[“보정”,      “ExposureBiasValue”,      “”]]           ;
                                             
         //  ,[“측광모드”,      “MeteringMode”,      “”]   
          // ,[“노출보정”,      “ExposureBiasValue”,      “”]   
          // $exif[“ExposureBias”] = sprintf(“%4.2f”,@($tmp[0]/$tmp[1])).”EV”;
        //  ExposureMode // 노출모드
         


// 사진정보 검색 Loop                         
for (i=0; i<exif.length; i++) {               
        for (j=0; j<setExif.length; j++) {    
                // Exif정보 검색시 한글과 영문을 동시에 체크하여 처리
                if ((setExif[j][2].length < 1) && ((exif[i][0].indexOf(setExif[j][0]) >= 0) || (exif[i][0].indexOf(setExif[j][1]) >= 0))) {
                        setExif[j][2] = exif[i][1];
                     
                        break;                
                }                             
        }                                     
}                                             


//exifDoc = “『”
//사진정보 문장 생성                          


exifDoc = exifDoc + setExif[0][2] + ”  |”;  //모델    
//사진정보 검색에서 찾지 못하거나 정보가 없는 경우를 위한 IF처리


// 렌즈정보 입력
if (setExif[8][1].length > 0 ) exifDoc = exifDoc + ”    ” + lens; //렌즈


//exifDoc += “』”;


// 사진정보 텍스트 레이어 생성(사진의 왼쪽에 흰바탕의 10픽셀 테두리에)
var newTextLayer1 = activeDocument.artLayers.add();
newTextLayer1.kind = LayerKind.TEXT;
newTextLayer1.textItem.justification = Justification.LEFT;  //오른쪽정렬
newTextLayer1.textItem.position = Array(100, 40);  //텍스트레이어 시작 위치(x,y) : 좌하부
newTextLayer1.textItem.size = 2;  //8px -> 2.4pt
newTextLayer1.textItem.color = textColor;
newTextLayer1.textItem.font = “ollehche_v2”;  //굴림체
newTextLayer1.textItem.antiAliasMethod = AntiAlias.CRISP; //뚜렷하게
newTextLayer1.textItem.direction = Direction.HORIZONTAL;  //세로글자
newTextLayer1.textItem.contents = exifDoc;


exifDoc = “”;


//exifDoc = “『”


if (setExif[4][1].length > 0 ) exifDoc = exifDoc + setExif[4][2]+ ”  |  “; //조리개
if (setExif[9][1].length > 0 ) exifDoc = exifDoc + ExposureBias+ ”  |”; //보정
if (setExif[3][1].length > 0 ) exifDoc = exifDoc + ”   ” + setExif[3][2]+ ”  |”; //셔터 속도
if (setExif[5][1].length > 0 ) exifDoc = exifDoc + ”   ” + setExif[5][2]+ ”  |”; //초점거리
if (setExif[2][1].length > 0 ) exifDoc = exifDoc + ”   ISO ” + setExif[2][2]+ ”  |”; //ISO
// 플래쉬의 경우 16과 9로 표기되더군요… 왠지는… 쩝(제꺼만 그런가???)
// 그래서 9인 경우 On으로 아닌경우 Off로 처리
if (setExif[6][1].length > 0 ) exifDoc = exifDoc + ”   Flash ” + (setExif[6][2]==”9″?”On”:”Off”)+ ”  |”; //플래쉬 사용유무
if (setExif[7][1].length > 0 ) exifDoc = exifDoc + ”   WB ” + setExif[7][2]+ ”  |”; //화이트벨런스
/*
if (setExif[1][1].length > 0 ) exifDoc = exifDoc + ”   ” + setExif[1][2].substring(0,4) + “-”
                                                         + setExif[1][2].substring(5,7) + “-”
                                                         + setExif[1][2].substring(8,10) + ”  “;  //원본날짜시간
*/
if (setExif[1][1].length > 0 ) exifDoc = exifDoc + ”   ” + setExif[1][2] + ”  “;  //원본날짜시간


                        
                        
//exifDoc += “』”;
//검색 처리 결과 예제
//Anycall SCH-C330   2009-11-08   0.00   화벨 자동  –> 핸드폰으로 찍은 사진 결과
//Canon EOS 450D   2009-11-12   ISO 400   17.0 sec   f/11   18.0 mm   플래쉬 Off   화벨 자동  –> DSLR로 찍은 사진 결과


// 사진정보 텍스트 레이어 생성(사진의 왼쪽에 흰바탕의 10픽셀 테두리에)
var newTextLayer1 = activeDocument.artLayers.add();
newTextLayer1.kind = LayerKind.TEXT;
newTextLayer1.textItem.justification = Justification.LEFT;  //오른쪽정렬
newTextLayer1.textItem.position = Array(100, 60);  //텍스트레이어 시작 위치(x,y) : 좌하부
newTextLayer1.textItem.size = 2;  //8px -> 2.4pt
newTextLayer1.textItem.color = textColor;
newTextLayer1.textItem.font = “ollehche_v2”;  //굴림체
newTextLayer1.textItem.antiAliasMethod = AntiAlias.CRISP; //뚜렷하게
newTextLayer1.textItem.direction = Direction.HORIZONTAL;  //세로글자
newTextLayer1.textItem.contents = exifDoc;


var newTextLayer1 = activeDocument.artLayers.add();
newTextLayer1.kind = LayerKind.TEXT;
newTextLayer1.textItem.justification = Justification.LEFT;  //오른쪽정렬
newTextLayer1.textItem.position = Array(100, 80);  //텍스트레이어 시작 위치(x,y) : 좌하부
newTextLayer1.textItem.size = 2;  //8px -> 2.4pt
newTextLayer1.textItem.color = textColor;
newTextLayer1.textItem.font = “ollehche_v2”;  //굴림체
newTextLayer1.textItem.antiAliasMethod = AntiAlias.CRISP; //뚜렷하게
newTextLayer1.textItem.direction = Direction.HORIZONTAL;  //세로글자
newTextLayer1.textItem.contents = “Copyright (c) HanNim. All rights reserved.”;



// 낙관 텍스트 레이어 생성(사진의 하단에 흰바탕의 20픽셀 테두리에)
var newTextLayer2 = activeDocument.artLayers.add();
newTextLayer2.kind = LayerKind.TEXT;
newTextLayer2.textItem.justification = Justification.CENTER;  //중앙정렬
newTextLayer2.textItem.position = Array(activeDocument.width*0.5, activeDocument.height-40);   //텍스트레이어 시작 위치(x,y) : 중하부
newTextLayer2.textItem.size = 8;  //30px -> 9pt
newTextLayer2.textItem.color = foregroundColor;
newTextLayer2.textItem.font = “Inkburrow”;
newTextLayer2.textItem.antiAliasMethod = AntiAlias.SMOOTH;  //부드럽게
newTextLayer2.textItem.contents = ” photographed by HanNim”;


// 블로그 주소 텍스트 레이어 생성(사진의 하단에 흰바탕의 20픽셀 테두리에)
/*var newTextLayer3 = activeDocument.artLayers.add();
newTextLayer3.kind = LayerKind.TEXT;
newTextLayer3.textItem.justification = Justification.RIGHT;  //오른쪽 정렬
newTextLayer3.textItem.position = Array(activeDocument.width-30, activeDocument.height-15);  //텍스트레이어 시작 위치(x,y) : 우하부
newTextLayer3.textItem.size = 6;  //12px -> 3.6pt
newTextLayer3.textItem.color = textColor;
newTextLayer3.textItem.font = “Pristina-Regular”;
newTextLayer3.textItem.antiAliasMethod = AntiAlias.CRISP;  //뚜렷하게
newTextLayer3.textItem.contents = “http://www.LovesFactory.com“;
*/
//기본 및 텍스트 유닛 정의 원상복구
app.preferences.rulerUnits = strtRulerUnits;
app.preferences.typeUnits = strtTypeUnits;


//사용 객체 초기화
docRef = null;
textColor = null;
setExif = null;
exif = null;
exifDoc = null;
strtRulerUnits = null;
strtTypeUnits = null;
newTextLayer1 = null;
newTextLayer2 = null;
newTextLayer3 = null;