@@ -92,19 +92,24 @@ def _create_grid_annotation(
9292 row_texts : list [str ],
9393 font : ImageFont .FreeTypeFont ,
9494) -> Image .Image :
95- if not column_texts or not row_texts :
96- raise ValueError ("Column text or row text is empty" )
95+ if not column_texts and not row_texts :
96+ raise ValueError ("Column text and row text is empty" )
9797
9898 grid = grid_info .image
99- left_padding = int (
100- max (
101- font .getlength (splitted_text )
102- for raw_text in row_texts
103- for splitted_text in raw_text .split ("\n " )
99+ left_padding = 0
100+ top_padding = 0
101+
102+ if row_texts :
103+ left_padding = int (
104+ max (
105+ font .getlength (splitted_text )
106+ for raw_text in row_texts
107+ for splitted_text in raw_text .split ("\n " )
108+ )
109+ + font .getlength (WIDEST_LETTER )* 2
104110 )
105- + font .getlength (WIDEST_LETTER )* 2
106- )
107- top_padding = int (font .size * 2 )
111+ if column_texts :
112+ top_padding = int (font .size * 2 )
108113
109114 image = Image .new (
110115 "RGB" ,
@@ -116,20 +121,22 @@ def _create_grid_annotation(
116121 draw .font = font # type: ignore
117122
118123 _paste_image_to_lower_left_corner (image , grid )
119- _draw_column_text (
120- draw = draw ,
121- texts = column_texts ,
122- grid_info = grid_info ,
123- left_padding = left_padding ,
124- top_padding = top_padding ,
125- )
126- _draw_row_text (
127- draw = draw ,
128- texts = row_texts ,
129- grid_info = grid_info ,
130- left_padding = left_padding ,
131- top_padding = top_padding ,
132- )
124+ if column_texts :
125+ _draw_column_text (
126+ draw = draw ,
127+ texts = column_texts ,
128+ grid_info = grid_info ,
129+ left_padding = left_padding ,
130+ top_padding = top_padding ,
131+ )
132+ if row_texts :
133+ _draw_row_text (
134+ draw = draw ,
135+ texts = row_texts ,
136+ grid_info = grid_info ,
137+ left_padding = left_padding ,
138+ top_padding = top_padding ,
139+ )
133140
134141 return image
135142
0 commit comments