# InsertPicture의 watermark 파라미터가 잘못 들어갑니다.

**URL:** https://forum.developer.hancom.com/t/insertpicture-watermark/1284
**Category:** 한글 오토메이션
**Created:** [1월 19, 2024, 8:31오전 UTC](https://forum.developer.hancom.com/t/insertpicture-watermark/1284 "2024-01-19T08:31:20Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![ilco](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.developer.hancom.com/ilco/32/1213_2.png) [@ilco](https://forum.developer.hancom.com/u/ilco)
#### Post date: [1월 19, 2024, 8:31오전 UTC](https://forum.developer.hancom.com/t/insertpicture-watermark/1284/1 "2024-01-19T08:31:20Z")

</div>

이미지 삽입시 워터마크를 적용하면  
명도는 70으로 올리고, 채도는 -50으로 낮춰야 하는데,  
(한/글 프로그램상에선 잘 적용돼요)

API의 InsertPicture 메서드 사용시 watermark=True를 적용하면  
명도가 -50, 채도가 70이 돼서 더 진하고 어둡고 뚜렷한 이미지가 나와버립니다ㅜ

아마 반대로 바인딩돼 있는 것 같아요…

![녹화_2024_01_19_17_30_20_593](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/1X/834bfff12c8014ffb7dff7b4ae91e8a9ec2faffa.gif)

---

<div class="post-metadata">

### Author: ![user113](https://avatars.discourse-cdn.com/v4/letter/u/f475e1/32.png) [@user113](https://forum.developer.hancom.com/u/user113)
#### Post date: [1월 20, 2024, 5:51오전 UTC](https://forum.developer.hancom.com/t/insertpicture-watermark/1284/2 "2024-01-20T05:51:18Z")

</div>

슨생님 안녕하세요.  
수업 잘 듣고 있습니다.

지난번에 여쭤본 내용에 대해 답변을 못 얻어서 ㅠㅠ 아직도 힙겹게?;;;  
헐떡이고 있습니다.

우선 제가 작성한 코드는 아래와 같습니다.

```auto
import os
import win32com.client as win32

#===================================================
# hwp_file_path & stamp_file_path 정의
#===================================================
cwd = os.getcwd()
# print('cwd: ', cwd)

hwp_file_name = '누름틀필드.hwp'
hwp_file_path = os.path.join(cwd, hwp_file_name)

stamp_file_name = '김운기인.png'
stamp_file_path = os.path.join(cwd, stamp_file_name)

#===================================================
# HWP 파일 열기
#===================================================
hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
hwp.XHwpWindows.Item(0).Visible = True
hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")
hwp.Open(hwp_file_path)

#===================================================
# 누름틀 : "도장날인" 위치로 이동 
#===================================================
hwp.MoveToField("도장날인")
position = hwp.GetPos() # position 은 캐럿의 위치좌표 

#===================================================
# 이미지 삽입
#===================================================
hwp.InsertPicture(stamp_file_path, Embedded=True, sizeoption=1, Width=15, Height=15)
hwp.FindCtrl() # 이미지 선택 (커서에서 인접한 개체 선택)

#===================================================
# 이미지 속성 설정
#===================================================
hwp.HAction.GetDefault("ShapeObjDialog", hwp.HParameterSet.HShapeObject.HSet)
hwp.HParameterSet.HShapeObject.TreatAsChar = False # 글자처럼 취급하지 않음
hwp.HParameterSet.HShapeObject.TextWrap = hwp.TextWrapType("InFrontOfText") # 글자 앞에 배치
hwp.HAction.Execute("ShapeObjDialog", hwp.HParameterSet.HShapeObject.HSet) # 액션 실행

#===================================================
# 이미지 위치 설정
#===================================================

# 이후 이곳에서 막혔습니다. 
# position = hwp.GetPos() # position 은 캐럿의 위치좌표 에서 획득한 position 의 위치로 이미지를 이동시키고 싶습니다. ㅠㅠ 그런데 못하고 있네요 ㅠㅠ 공식문서 읽는 방법도 잘 몰라서 그런지 저에게는... 마치 벽처럼 느껴지네요 

```

위의 코드를 실행하면 처음에 '이미지 삽입’을 하면 \< hwp.MoveToField(“도장날인”) \> 위치에 잘 이미지가 삽입이 됩니다. 그러나  
#===================================================

# 이미지 속성 설정

#===================================================  
단계를 실행하고 난 이후에는 위의 추가된 이미지가 본래의 위치를 상실하고 문서의 왼쪽 시작 지점으로 이동되어 버립니다… ㅠㅠ  
그래서 '이미지 위치 설정’해줘야할 필요가 있는데 이게 ㅠㅠ…  
방법을 모르겠습니다. ㅠㅠ

---

<div class="post-metadata">

### Author: ![jjeong](https://avatars.discourse-cdn.com/v4/letter/j/3bc359/32.png) [@jjeong](https://forum.developer.hancom.com/u/jjeong)
#### Post date: [1월 22, 2024, 12:24오전 UTC](https://forum.developer.hancom.com/t/insertpicture-watermark/1284/3 "2024-01-22T00:24:34Z")

</div>

안녕하세요.

확인해보니 한글컨트롤, 오토메이션 둘다 밝기와 대비가 반대로 설정되어있네요 ㅠ

확인 감사합니다.

다음 패치 때 반영될 수 있도록 하겠습니다.

---

<div class="post-metadata">

### Author: ![ilco](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.developer.hancom.com/ilco/32/1213_2.png) [@ilco](https://forum.developer.hancom.com/u/ilco)
#### Post date: [1월 23, 2024, 4:05오전 UTC](https://forum.developer.hancom.com/t/insertpicture-watermark/1284/4 "2024-01-23T04:05:59Z")

</div>

안녕하세요?

캐럿(커서) 위치나 글자의 위치를 통해 좌표를 확인하기는 어렵습니다.  
문서 내에 도장이 찍히는 위치를 고정하는 등 다른 조치를 하시는 걸 추천드립니다.

(만약 이미지가 삽입되어야 할 위치를 고정하실 수 **있** 다면)  
이미지를 특정 위치로 이동하는 명령어는 다소 간단한 편입니다.

```python3
ctrl = hwp.HeadCtrl.Next.Next # 이미지 컨트롤
hwp.SetPosBySet(ctrl.GetAnchorPos(1)) # 이미지 조판으로 이동
hwp.FindCtrl() # 해당 이미지 선택
pset = hwp.HParameterSet.HShapeObject # 파라미터셋 생성
hwp.HAction.GetDefault("ShapeObjDialog", pset.HSet) # 파라미터셋 초기화
pset.TreatAsChar = 0 # 글자처럼취급 해제
pset.TextWrap = 3 # InFrontOfText # 이미지가 글자 위로 
pset.VertRelTo = 2 # (이미지컨트롤이 삽입된) 문단 기준
pset.VertAlign = 0 # 상단에서부터
pset.HorzRelTo = 3 # (이미지컨트롤이 삽입된) 문단 기준
pset.HorzAlign = 0 # 좌측에서부터
pset.VertOffset = hwp.MiliToHwpUnit(0) # mm
pset.HorzOffset = hwp.MiliToHwpUnit(50) # mm
pset.HSet.SetItem("ShapeType", 1)
hwp.HAction.Execute("ShapeObjDialog", pset.HSet)

```

시연화면은 아래와 같습니다.

![녹화_2024_01_23_12_57_35_115](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/1X/13c03ae8f59b4b83f603ac3595bd96a7d2238814.gif)

GetPos()가 리턴하는 위치는 (영역, 문단, 글자오프셋) 개념으로,  
문서 내 이미지를 이동하는데 활용하기는 어렵습니다.

도움이 되었기를 바랍니다.

---

<div class="post-metadata">

### Author: ![user113](https://avatars.discourse-cdn.com/v4/letter/u/f475e1/32.png) [@user113](https://forum.developer.hancom.com/u/user113)
#### Post date: [1월 24, 2024, 12:14오후 UTC](https://forum.developer.hancom.com/t/insertpicture-watermark/1284/5 "2024-01-24T12:14:55Z")

</div>

선생님 답변 감사합니다.

지난번에도 조언해주신 내용대로  
그럼 "테두리가 보이지 않는 표"를 생성하고 해당 표 내부에 이미지를 추가하는 방식으로. 우회하는 수 밖에 없겠네요 ㅠㅠ  
정말 늘 감사합니다.
