Language 33

[Python] 클립 보드 with Python

클립 보드 개요 클립 보드 기능은 우리가 효율적으로 데이터를 관리하고 사용할 수 있게 한다. 우리는 일반적으로 텍스트를 복사하거나 붙여 넣을 때 이 클립 보드를 사용하지만, 이보다 더 다양한 활용법이 존재한다. 지난 게시글에서 클립 보드에 저장된 이미지를 특정 하위 디렉토리에 png 형식의 파일로 저장하는 방법에 대해 간략하게 소개하였다. 이번 글에서는 ImageGrab에 대해 좀 더 자세히 탐구하고, 클립 보드를 통한 이미지 관리법에 대해 알아보자. 본문 이 코드는 사용자가 클립 보드에 이미지 파일을 저장한 경우, 해당 이미지를 example.png라는 파일로 저장하는 프로그램이다. 이를 위해선 PIL(Python Imaging Library)이라는 라이브러리를 활용한다. PIL은 파이썬에서 이미지 처..

Language/Python 2023.07.29

[C++] Python 연동 with VS code

C++ Python 연동 개요 간단한 토이 프로젝트를 작업하던 도중, 클립보드를 캡처하는 기능이 필요해졌다. C++로 이를 구현하려고 하니, 윈도 API를 이용하면 가능하다는 걸 알았다. 하지만 이 방법에는 다른 OS와의 호환성이 떨어질 수도 있다는 문제점이 있다. 이에 대한 방안을 찾던 중, 파이썬에서는 이를 쉽게 구현할 수 있다는 걸 알게 되었다. 이번 시간에는 파이썬에서 작성한 코드를 C++에서 호출하는 기능을 알아보도록 하겠다. Python 3.11.4 버전을 쓰고 있으며, visual studio는 2022 버전을 사용하고 있다. 또한, 이를 통해 C++과 파이썬 사이의 간접적인 연동 방법을 알아보겠다. 이런 방법은 프로그래밍 언어 간의 장벽을 넘어, 더 효과적이고 확장 가능한 솔루션을 만들 수..

Language/C++ 2023.07.18

[C++] 진수 변환

진수 변환 개요 프로그래밍에는 여러 가지 다양한 알고리즘이 존재하며, 그중 십진수를 이진수로 바꾸는 알고리즘은 매우 중요한 개념이다. 이진수 변환은 많은 프로그래밍 문제에서 요구되는 기술로서, 백준 1094 막대기 문제나 프로그래머스의 다음 큰 숫자 문제와 같이 이진수에 관한 연산이 필요한 경우가 대표적이다. 이 게시글에서는 C++을 사용하여 십진수를 이진수로 변환하는 방법을 자세히 알아보도록 하겠다. 원리 일반적으로 10진수를 2진수로 변환하는 과정은 다음과 같다. 십진수 n을 2로 나눈 나머지를 구하고, 이 값은 이진수의 가장 낮은 자릿수가 된다. n을 2로 나눈 몫을 새로운 n으로 설정한다. n이 0이 될 때까지 이 과정을 반복한다. 이 원리는 이진수가 2의 지수 형태로 표현되는 것에서 기인한다. ..

Language/C++ 2023.07.06