728x90

과거 천공카드에 구멍을 뚫어서 프로그래밍하던 메인프레임 시절, 프로그래밍은 할 줄 모르지만 프로그래머가 써온 프로그램을 카드에 구멍을 뚫어서 컴퓨터에 입력해주는 사무원을 코더(Coder)라고 불렀다.

 

진정한 '코더' 가 뭔지 보여준다 아 ㅋㅋㅋㅋㅋㅋㅋㅋ

 

우리의 프로그래머는 GPT고 나는 일개 코더다. 

그야말로 '복붙 개발' ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

이거 은근 재밌음. 

프로그래밍이 주 목적이 아니라 무언가를 만들어내는게 목적이라면 더더욱. 

나는 내 모든 창업아이템의 MVP를 이런식으로 만들었다. 

 

무엇을 만들어내는가?

최근 OGQ가 깐깐해지면서 하얀색 테두리를 추가하란다. 

그래서 자동으로 테두리를 추가해주는 앱을 만드려고 한다. 

 

그런데 이게 무슨 프로그램이지?

뭔가 만들고싶은건 알겠는데 이걸 어떻게 gpt한테 설명해야할지 몰랐던 나는 구글링을 했다. 

구글링결과
구글링 결과

여기서 구글링 꿀팁!

 

바로 저 첫번째 문서를 들어가지 않고 이미지를 클릭한다. 

왜냐하면 내가 지금 찾고있는건 이미지를 봐야 정확한지 안정확한지 확인이 가능하기 때문이다. 

 

이미지 구글링

 

흐흐 마침 두번째, 세번째 사진이 내가 딱 원하던 그런 기능이잖아?

클릭해준다. 

 

https://xn--stackoverflow-v055c.com/questions/24039599/how-to-add-stroke-outline-to-transparent-png-image-in-javascript-canvas

 

최고다 스텍오버플로우. 

 

역시 세상의 모든 지식이 들어있어

 

내가 원하는 기능은 'sticker effect' 라고 한다.

공식적인 단어인지는 모르겠지만 저 단어라면 우리 gpt 도 알아들을거야!

 

 

GPT에게 물어보기

 

그래서 다음과 같은 질문을 gpt에게 했다. 

Q. can i create sticker effect on my transparent png file (putting a stroked white outline around each non-transparent element in my png) by javascript?

두근! 가능하다는 지피티쨩
프로그래밍까지...

 

심지어 프로그래밍 해달라고도 안했는데 알아서 해주는 센스. 

자바스크립트보다 파이썬이 더 테스트하기 쉬울거같아서 파이썬으로 다시 짜달라고 했다. 

 

오 쉣....

오 쉣.......

이게 아니잖아 프로그래머야

 

그래서 코더인 나는 지피티에게 한번 더 명령했다. 

이번엔 파이썬으로 짜달라고. 

 

갑자기 코드가 개짧아졌다. 

갓 Pillow. 진짜 갓 pillow. 

이모티콘 자동화 프로그램 파이썬 버전도 pillow 로 했지. 

 

 

어쩐지 짧아졌다 했더니 이 미친놈 진짜 테두리를 추가한거였다ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

메모리를 낭비하고 싶지 않다면 코드를 잘 읽고 복붙하도록 하자

근데 이러려고 우리 제피러스 G14 쟝 산거잖아

낭비해도 돼 나는

 

말을 못알아듣는거 같길래 프롬프트를 좀 수정해준다. 

 

create sticker effect on my transparent png file (putting a stroked white outline around (each non-transparent element) in my png) with python. leave the original non-transparent part, just add white border around non-transparent element.

 

 

음 이새;끼 끝까지 못알아듣는다. 

이럴땐 직접 코드를 보고 고치는 방법밖에 없다. (프롬프트를 더 수정하던가)

 

지금 보니까 # Add a white border around the pixel part again. 부분에서 계속 잘못된다. 

 

그리고 내가 내일 결론:

이새1끼는 border 라는 말을 못알아듣는다. 

그렇다면?

 

create ((sticker effect)) on my transparent png file

1. check for the transparent pixels. 

2. if transparent pixels has non-transparent pixels within 5px range, change the transparent pixels into white pixel.

 file name is IMG_5339.png

write python code. 

 

아예 border라는 단어를 없애고 수학적으로 적으면 되지 않는가. 

반경 5px이내에 불투명한 픽셀이 있다면 투명한 부분을 하얀색으로 바꿔달란 뜻. 

결국엔 5px짜리 하얀 테두리가 만들어지는거다. 

 

그렇다. 계속 지피티가 한 단어를 못알아들어서 실수를 한다면 그 단어를 없애면 되는거다. 

 

from PIL import Image

# Open the input image and convert it to RGBA format
input_image = Image.open("IMG_5339.png").convert("RGBA")

# Get the dimensions of the input image
width, height = input_image.size

# Create a new output image with the same dimensions
output_image = Image.new("RGBA", (width, height), (255, 255, 255, 0))

# Loop over each pixel in the input image
for x in range(width):
    for y in range(height):
        # Get the RGBA values for this pixel
        r, g, b, a = input_image.getpixel((x, y))

        # If the pixel is transparent and there is a non-transparent pixel within 5 pixels,
        # change the pixel to white
        if a == 0:
            for dx in range(-5, 6):
                for dy in range(-5, 6):
                    if dx == 0 and dy == 0:
                        continue
                    nx = x + dx
                    ny = y + dy
                    if 0 <= nx < width and 0 <= ny < height and input_image.getpixel((nx, ny))[3] > 0:
                        r, g, b, a = 255, 255, 255, 255
                        break

        # Set the pixel in the output image
        output_image.putpixel((x, y), (r, g, b, a))

# Save the output image
output_image.save("IMG_5339_sticker.png")

 

지피티가 준 코드...

 

과연 결과는?

 

연산이 졸라 많아져서 컴파일러가 괴로워하고있다 엌ㅋㅋㅋㅋㅋ

진짜 느리다. 

 

진짜... 느리다...? 이렇게 느려도 되는걸까

 

그래서 끝까지 코드는 돌아가지 않았고...

 

 

코드가 돌아가는 사이에 공짜 프로그램을 찾았다.

ㅋㅋㅋㅋㅋ

https://borderize.com/

 

Borderize - Add border to PNG

 

borderize.com

 

프로그램은 사서 쓰세요 제발 (근데 공짜임)

 

 

 


뭔가 gpt로 만들고싶은거 만드는거 보여주고싶었는데 실패로 끝나버린 오늘의 코드

 

다른것들은 잘 만들어질때도 있음

(사실 이거도 시간 조금만 더 있으면 가능할듯...

근데 이거같은경우엔 직접 코드 짜는게 훨씬 빠를거같음)

 

여튼 지피티로 '코더' 짓 하기 재밌습니다.

 


와 아니 미친 님들!!!!!!!!!!!!!!!!!!!!!!!!!!!
지피티가 해냈어요!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

아까 저 코드 드디어 30분만에 돌아감

728x90

+ Recent posts