@@ -288,9 +288,10 @@ extension HomeViewModel {
288288
289289 let captureView = CodiCompositeView ( clothes: items, loadedImages: loadedImages)
290290 . frame ( width: 260 , height: 260 )
291- . background ( Color . white )
291+ . background ( Color . Codive . grayscale7 )
292292
293293 let renderer = ImageRenderer ( content: captureView)
294+ renderer. isOpaque = true
294295 renderer. scale = UIScreen . main. scale
295296
296297 guard let uiImage = renderer. uiImage else {
@@ -373,10 +374,13 @@ extension HomeViewModel {
373374 return
374375 }
375376
377+ // 1:1 → 3:4 비율 변환 (상하 여백 추가)
378+ let recordImage = Self . convertToThreeByFour ( codiImage)
379+
376380 let selectedPhoto = SelectedPhoto (
377381 id: UUID ( ) . uuidString,
378- originalImage: codiImage ,
379- croppedImage: codiImage ,
382+ originalImage: recordImage ,
383+ croppedImage: recordImage ,
380384 order: 1
381385 )
382386
@@ -397,6 +401,26 @@ extension HomeViewModel {
397401 }
398402 }
399403
404+ /// 1:1 이미지를 3:4 비율로 변환 (상하에 배경색 여백 추가)
405+ private static func convertToThreeByFour( _ image: UIImage ) -> UIImage {
406+ let width = image. size. width
407+ let targetHeight = width * 4.0 / 3.0
408+ let yOffset = ( targetHeight - image. size. height) / 2.0
409+ let targetSize = CGSize ( width: width, height: targetHeight)
410+ let bgColor = UIColor ( red: 246.0 / 255.0 , green: 246.0 / 255.0 , blue: 246.0 / 255.0 , alpha: 1.0 )
411+
412+ let format = UIGraphicsImageRendererFormat ( )
413+ format. scale = image. scale
414+ format. opaque = true
415+
416+ let renderer = UIGraphicsImageRenderer ( size: targetSize, format: format)
417+ return renderer. image { context in
418+ bgColor. setFill ( )
419+ context. fill ( CGRect ( origin: . zero, size: targetSize) )
420+ image. draw ( at: CGPoint ( x: 0 , y: yOffset) )
421+ }
422+ }
423+
400424 private func completeProcess( ) {
401425 self . isEditingExistingCodi = false
402426 self . showCompletePopUp = false
0 commit comments