상세 컨텐츠

본문 제목

Gray Image edit Program Ver.0.0.2[DB저장]

PYTHON/미니프로젝트1 Photoshop

by yeongs 2020. 10. 8. 09:28

본문

# DB 관련 전역변수
conn, cur = None, None
HOST = "192.168.56.101"
USER ="winUser"
PASSWORD ="4321"
DB = "image_db"
def saveDB():
    global window, canvas, paper, inImage, outImage, inH, inW, outH, outW, filename
    global conn, cur
    """
        -- 이미지 파일을 저장하는 데이터베이스/테이블
        CREATE DATABASE IF NOT EXISTS image_db;
        USE image_db;
        CREATE TABLE IF NOT EXISTS raw_table
        (
            rawId INT PRIMARY KEY,
            rawName VARCHAR(255), -- 파일명
            rawExt  CHAR(5),  -- 확장자명
            xSize INT,  -- width
            ySize INT   -- height
        );
        
        CREATE TABLE IF NOT EXISTS gray_table
        (
            rawId INT,
            x SMALLINT UNSIGNED,
            y SMALLINT UNSIGNED,
            z TINYINT UNSIGNED, -- -128~ 127 => UNSIGNED 0~255
            FOREIGN KEY gray_table(rawId) REFERENCES raw_table(rawId)
        );
    """
    ## 메인 코드부
    if filename == '' or filename == None:
        return
    conn = pymysql.connect(host=HOST, user=USER, password=PASSWORD,
                           db=DB, charset="utf8")
    cur = conn.cursor()  # 빈 트럭 준비
    rawId = random.randint(-2100000000, +2100000000)
    tmpName = os.path.basename(filename)  ##파일 이름 분리
    rawName, rawExt = tmpName.split(".")
    xSize = outW
    ySize = outH
    # 파일 정보 입력
    sql = "INSERT INTO raw_table(rawId, rawName, rawExt, xSize, ySize) "
    sql += "VALUES ( " + str(rawId) + ", '" + rawName + "', '" + rawExt + "', "
    sql += str(xSize) + ", " + str(ySize) + ")"
    # print(sql) # mysql 에서 잘되는지 확인해본다
    # return
    cur.execute(sql)
    # 픽셀 정보 입력
    for x in range(outH):
        for y in range(outW):
            z = outImage[x][y]
            sql = "INSERT INTO gray_table(rawId, x, y, z) VALUES ("
            sql += str(rawId) + "," + str(x) + "," + str(y)
            sql += "," + str(z) +")"
            cur.execute(sql)
    conn.commit()
    # 끝. 정리하기
    cur.close()
    conn.close()
    print("ok")

Gray Image edit Program Ver.0.0.2[DB저장].py
0.06MB

'PYTHON > 미니프로젝트1 Photoshop' 카테고리의 다른 글

Gray Image edit Program Ver.0.0.1  (0) 2020.10.03
03-01 함수 / 전역변수 선언  (0) 2020.10.03
02-M3-6 좌우 미러링  (0) 2020.10.03
02-M3-4 이진화 평균값  (0) 2020.10.03
03-04 텍스트 포토샵  (0) 2020.09.21

관련글 더보기

댓글 영역