1. 매년의, 연례의 2. 연간의, 한 해의 3. (특히 아동용) 연감[연보] 4. 일년생 식물
예문
Midsummer is the second biggest holiday in the Swedish calendar, after Christmas Day, and marks the start of Sweden's annual five-week summer holiday season.
한여름은 스웨덴 달력에서 크리스마스 다음으로 두 번째로 가장 큰 공휴일이고 스웨덴의 매년 5주 여름 공휴일 기간의 시작이다.
The flowers at the annual flower show were a beautiful sight.
매년 열리는 꽃 전시회의 꽃들은 아름다운 광경이었다.
The rise takes the annual rate of inflation to 1.6%.
연간 상승 비율 1.6%가 폭등했다.
ripe
1. 익은
2. 숙성한
3. 고약한
예문
Flowers are blooming, berries are ripening and a wonderful summer lies ahead.
꽃들이 만개하고 열매가 익으며 멋진 여름이 다가온다.
This brie smells good and ripe.
이 브리치즈는 잘 숙성된 냄새가 난다.
There was a ripe smell from his socks.
그의 양말에서 고약한 냄새가 난다.
ancient
1. 고대의 2. 아주 오래된 3. 고대인(특히 고대 이집트인그리스인로마인)
예문
People have lived in this valley since ancient times.
고대부터 사람들은 이 산골짝에서 살아왔다.
According to ancient Swedish tradition, if you pick seven different flowers and put them under your pillow on Midsummer Eve, you'll dream of your future spouse.
아주 오래된 스웨덴의 전통에 따르면 당신이 7가지 꽃을 한여름 밤 베개 밑에 둔다면 미래의 배우자를 꿈에서 보게 된다.
anxious
1. 불안해하는, 염려하는 2. 불안하게 하는, 불안해 보이는 3. 열망하는, 간절히 바라는
예문
They anxious about whether potatoes will be enough and if they will be ready in time.
그들은 감자가 충분할지, 그리고 제 시간 안에 준비될 것인지에 대해 염려했다.
It was getting late, and I was anxious to get home.
시간이 늦어져서 집에 가고 싶었다.
proper
1. 적절한, 제대로 된 2. (수준 등이) 제대로 된, 참된 3. (사회적·도덕적으로) 올바른[정당한/제대로 된]
예문
That's the combination that creates the proper Midsummer feeling.
그 조합이 제대로 된 한여름 느낌으로 만들어준다.
In those days it was considered not quite proper for young ladies to be seen talking to men in public.
그 당시에는 젋은 여자들이 공공장소에서 남자들과 이야기 하는 것을 올바르지 않다고 생각했다.
Stockholm's elegant and bustling streets are empty.
스톡홀름의 우아하고 부산한 거리가 텅 빈다.
An elegant old woman was walking down the street.
품격 있는 노부인이 거리를 걷고 있었다.
bustle
1. 바삐 움직이다, 서두르다 2. 부산함, 북적거림 3. (과거 여자들이 치마 뒷부분을 불룩하게 하기 위해 입던) 치마받이 틀
예문
He bustled around the apartment, getting everything ready.
그는 아파트 주변을 바삐 돌며 모든 것을 준비했다.
The whole square was bustling with expectation.
온 광장이 기대로 북적거렸다.
enchant
1. 황홀하게[넋을 잃게] 만들다 2. 마술[마법]을 걸다
예문
The audience was clearly enchanted by her performance.
관객들은 분명히 그녀의 공연에 넋을 잃었다.
He was enchanted by stories of the Old West.
그는 옛 서부의 이야기에 빠져들었다.
predict
예견[예측]하다
예문
In history, the night before Midsummer Day was one of the year's eight magic nights where you could predict the future, and a sort of magic window to the future was open.
역사에 따르면 한여름 날의 전날 밤에는 일 년의 여덟 마법의 밤 중 하나로, 미래를 예견 할 수 있는 마법의 창문이 열렸다.
The hurricane is predicted to reach the coast tomorrow morning.
허리케인이 내일 아침 해변에 도달할 것이라 예측된다.
merge
1. 합병[병합]하다, 합치다 2. (서로 구분이 안 되게) 어우러지다[융합되다]
예문
They decided to merge the two companies into one.
그들은 두 회사를 하나로 병합하기로 결정했다.
Historically, there was a big haymaking feast, important for all people living in the countryside before the 1930s, and today that party has merged with the Midsummer festivities.
역사적으로 1930년대 전 시골 지역에 사는 사람들에게 중요한 건초 만들기 잔치가 크게 있었고 오늘날 한여름 축제와 합쳐졌다.
from tkinter import *
from tkinter.filedialog import *
from tkinter.simpledialog import *
import os.path
import math
import sqlite3
## 함수 선언 부분 ##
def func_open():
global window, canvas, paper, filename, XSIZE, YSIZE, inImage, filename
filename = askopenfilename(parent=window, filetypes=(("RAW 파일", "*.raw"), ("모든 파일", "*.*")))
if filename == '': # 대화상자에서 취소를 눌렀으면
return
if canvas != None: # 기존에 열린 적이 있으면 제거
canvas.destroy()
# 파일 --> 메모리
loadImage(filename)
window.geometry(str(XSIZE) + 'x' + str(YSIZE)) # 윈도창 크기
canvas = Canvas(window, height = XSIZE, width = YSIZE)
paper = PhotoImage(width = XSIZE, height = YSIZE)
canvas.create_image((XSIZE / 2, YSIZE / 2), image = paper, state = "normal")
# 메모리 --> 화면
loadImage(filename) # 파일 --> 데이터베이스
loadDatabase() # 데이터베이스 --> 메모리
displayImage(inImage) # 메모리 --> 화면
canvas.pack()
def loadImage(fname) : # raw --> DB
global inImage, XSIZE, YSIZE
con, cur = None, None
row, col, data, sql = 0, 0, 0, ''
con = sqlite3.connect("C:/CookPython/rawDB") # DB가 저장된 폴더까지 지정
cur = con.cursor()
fp = open(fname, 'rb')
for row in range(0, XSIZE) :
for col in range(0, YSIZE) :
data = int(ord(fp.read(1)))
sql = "INSERT INTO rawTable VALUES(" + str(row) + "," + str(col) + "," + str(data) + ")"
cur.execute(sql)
fp.close()
con.commit()
con.close()
def loadDatabase() : # DB --> 메모리
global inImage, XSIZE, YSIZE
con, cur = None, None
row, col, data = 0, 0, 0
record = None # 테이블에서 읽어온 한 행
con = sqlite3.connect("C:/CookPython/rawDB")
cur = con.cursor()
cur.execute("SELECT * FROM rawTable")
# 빈 inImage 생성
for i in range(0, XSIZE) :
tmpList = []
for k in range(0, YSIZE) :
data = 0
tmpList.append(data)
inImage.append(tmpList)
# 테이블 --> inImage
while (True) :
record = cur.fetchone()
if record== None :
break;
row = record[0]; col = record[1]; data = record[2]
inImage[row][col] = data
con.close()
def displayImage(image) :
global XSIZE, YSIZE
rgbString = ""
for i in range(0, XSIZE) :
tmpString = ""
for k in range(0, YSIZE) :
data = image[i][k]
tmpString += "#%02x%02x%02x " % (data, data, data) # x 뒤에 한 칸 공백
rgbString += "{" + tmpString + "} " # } 뒤에 한 칸 공백
paper.put(rgbString)
def func_exit() :
window.quit()
window.destroy()
def brightPhoto() :
global window, canvas, paper, filename, XSIZE, YSIZE, inImage, filename, addValue
value = 0
value = askinteger('밝게', '값 입력', minvalue=1, maxvalue=255)
con = sqlite3.connect("C:/CookPython/rawDB") # DB가 저장된 폴더까지 지정
cur = con.cursor()
sql = "UPDATE rawTable SET data = data +" + str(value)
cur.execute(sql)
sql = "UPDATE rawTable SET data = 255 WHERE data > 255"
cur.execute(sql)
sql = "UPDATE rawTable SET data = 0 WHERE data < 0"
cur.execute(sql)
con.commit()
con.close()
loadDatabase() # 데이터베이스 --> 메모리
displayImage(inImage)
def darkPhoto() :
global window, canvas, paper, filename, XSIZE, YSIZE, inImage, filename, addValue
value = 0
value = askinteger('어둡게', '값 입력', minvalue=1, maxvalue=255)
con = sqlite3.connect("C:/CookPython/rawDB") # DB가 저장된 폴더까지 지정
cur = con.cursor()
sql = "UPDATE rawTable SET data = data -" + str(value)
cur.execute(sql)
sql = "UPDATE rawTable SET data = 255 WHERE data > 255"
cur.execute(sql)
sql = "UPDATE rawTable SET data = 0 WHERE data < 0"
cur.execute(sql)
con.commit()
con.close()
loadDatabase() # 데이터베이스 --> 메모리
displayImage(inImage)
def reversePhoto() :
global window, canvas, paper, filename, XSIZE, YSIZE, inImage, filename, addValue
con = sqlite3.connect("C:/CookPython/rawDB") # DB가 저장된 폴더까지 지정
cur = con.cursor()
sql = "UPDATE rawTable SET data = 255 - data"
cur.execute(sql)
con.commit()
con.close()
loadDatabase() # 데이터베이스 --> 메모리
displayImage(inImage)
## 전역 변수 선언 부분
window, canvas, XSIZE, YSIZE = None, None, 256, 256
inImage = [] # 2차원 리스트 (메모리)
## 메인 코드 부분 ##
if __name__ == "__main__" :
window = Tk()
window.title("연습문제")
canvas = Canvas(window, height = XSIZE, width = YSIZE)
paper = PhotoImage(width = XSIZE, height = YSIZE)
canvas.create_image((XSIZE/2, YSIZE/2), image = paper, state = "normal")
# 테이블 초기화
con = sqlite3.connect("C:/CookPython/rawDB") # 소스코드가 저장된 폴더에 생성됨
cur = con.cursor()
cur.execute("DROP TABLE IF EXISTS rawTable")
cur.execute("CREATE TABLE rawTable(row int , col int, data int)") # 행,열,픽셀값
con.commit()
con.close()
# 메뉴 추가
mainMenu = Menu(window)
window.config(menu = mainMenu)
fileMenu = Menu(mainMenu)
mainMenu.add_cascade(label = "파일", menu = fileMenu)
fileMenu.add_command(label = "파일 열기", command = func_open)
fileMenu.add_separator()
fileMenu.add_command(label = "프로그램 종료", command = func_exit)
photoMenu = Menu(mainMenu)
mainMenu.add_cascade(label = "사진효과", menu = photoMenu)
photoMenu.add_command(label = "밝게하기", command = brightPhoto)
photoMenu.add_command(label = "어둡게하기", command = darkPhoto)
photoMenu.add_command(label = "반전 이미지", command = reversePhoto)
filename = 'RAW/tree.raw' # C:/CookPython/RAW/tree.raw
loadImage(filename)
loadDatabase()
displayImage(inImage)
canvas.pack()
window.mainloop()
*주의사항 : 제가 직접 푼 것이므로 틀린 부분이 있을 수 있습니다. 오타나 틀린 부분 지적 환영!