- Today
- Total
Recent Posts
Recent Comments
Archives
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 쉬운 파이썬
- 파이썬 입문
- 프로그래밍
- 알고리즘
- 파이썬 자료구조
- c언어
- 알고리즘 강좌
- 셀레니움
- 크롤링
- 파이썬 강의
- 대학시험
- python 중간고사
- 면접 파이썬
- 자료구조
- 파이썬활용
- 코딩문제
- 자료구조 강의
- selenium
- 파이썬
- 파이썬 알고리즘
- 코딩시험
- 채용문제
- 파이썬 강좌
- python data structure
- 파이썬3
- 중간시험
- 알고리즘 강의
- gdrive
- 기말시험
- Crawling
Notice
반원 블로그
8. pillow : 이미지 패키지(2) - ImageGrab 모듈과 Image 클래스 본문
2018~/Python Skill Up
8. pillow : 이미지 패키지(2) - ImageGrab 모듈과 Image 클래스
반원_SemiCircle 2019. 9. 6. 10:27ImageGrab 모듈
- 레퍼런스 문서 : 링크
pillow 패키지의 ImageGrab.py 소스코드
from . import Image
import sys
if sys.platform == "win32":
grabber = Image.core.grabscreen
elif sys.platform == "darwin":
import os
import tempfile
import subprocess
else:
raise ImportError("ImageGrab is macOS and Windows only")
def grab(bbox=None, include_layered_windows=False):
if sys.platform == "darwin":
fh, filepath = tempfile.mkstemp(".png")
os.close(fh)
subprocess.call(["screencapture", "-x", filepath])
im = Image.open(filepath)
im.load()
os.unlink(filepath)
else:
size, data = grabber(include_layered_windows)
im = Image.frombytes(
"RGB",
size,
data,
# RGB, 32-bit line padding, origin lower left corner
"raw",
"BGR",
(size[0] * 3 + 3) & -4,
-1,
)
if bbox:
im = im.crop(bbox)
return im
def grabclipboard():
if sys.platform == "darwin":
fh, filepath = tempfile.mkstemp(".jpg")
os.close(fh)
commands = [
'set theFile to (open for access POSIX file "'
+ filepath
+ '" with write permission)',
"try",
" write (the clipboard as JPEG picture) to theFile",
"end try",
"close access theFile",
]
script = ["osascript"]
for command in commands:
script += ["-e", command]
subprocess.call(script)
im = None
if os.stat(filepath).st_size != 0:
im = Image.open(filepath)
im.load()
os.unlink(filepath)
return im
else:
data = Image.core.grabclipboard()
if isinstance(data, bytes):
from . import BmpImagePlugin
import io
return BmpImagePlugin.DibImageFile(io.BytesIO(data))
return data
기본 예제 - grab
import pyautogui as pg
from PIL import ImageGrab, Image
# 화면 사이즈
w_size = pg.size()
# 우상단 그림을 캡처 - 임시로 파일 저장됨
img = ImageGrab.grab((w_size[0]-200,0,w_size[0],200)) # x1,y1,x2,y2
img.save('./test.png') # 그림 저장
img.show() # 그림 열기
Image모듈의 Image 클래스
- pillow 패키지에서는 모든 그림 파일을 Image 클래스를 이용하여 관리한다.
- 레퍼런스 참고 :링크
기본 예제 - rotate
- 기타 예제는 다음을 참고 링크
from PIL import Image im = Image.open("bride.jpg") im.rotate(45).show()
'2018~ > Python Skill Up' 카테고리의 다른 글
파이썬 텔레그램 쓰기 - 1. Bot 계정 생성 및 echo 예제 (0) | 2019.09.22 |
---|---|
9. Naver Developer api(3) - Papago NMT API, 인공신경망 번역 (0) | 2019.09.06 |
9. Naver Developer api(2) - Clova Face Recognition, 얼굴 인식 API (0) | 2019.09.06 |
9. Naver Developer api (1) - 개발자 계정 등록 (0) | 2019.09.06 |
8. pillow : 이미지 패키지(1) - info, crop, thumbnail, resize (0) | 2019.09.06 |
7. pyisntaller - 파이썬 파일을 실행파일로 변환(py to exe) (0) | 2019.09.06 |
6. requests 모듈 - REST API 사용법, curl을 python requests로 변환방법 (0) | 2019.09.06 |
5. 클래스 - 기초 정의 및 인스턴스 생성 (0) | 2019.09.06 |
Comments