<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Pixel &amp;amp; Process 픽셀의 디테일과 과정의 기록</title>
    <link>https://danmi01.tistory.com/</link>
    <description>지원의 디자인 &amp;amp; 코드 보관함</description>
    <language>ko</language>
    <pubDate>Wed, 6 May 2026 21:58:05 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>danmi01</managingEditor>
    <image>
      <title>Pixel &amp;amp; Process 픽셀의 디테일과 과정의 기록</title>
      <url>https://tistory1.daumcdn.net/tistory/8252627/attach/0f460711808a45f286067b8e50367bb3</url>
      <link>https://danmi01.tistory.com</link>
    </image>
    <item>
      <title>클릭을 부르는 상업용 띠배너 시각적 위계 &amp;amp; 프롬프트 가이드</title>
      <link>https://danmi01.tistory.com/26</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요, 디자인 공부를 하고 있는 단미입니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 이커머스와 웹 환경에서 즉각적인 메시지 전달과 클릭(CTA)을 유도해야 하는&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;'띠배너' 디자인 8종의 작업 과정을 기록해 보려 합니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;이번 작업의 핵심은 기존 스톡 이미지가 주지 못하는 브랜드 맞춤형 질감을&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;41&quot; data-path-to-node=&quot;9&quot;&gt;생성형 AI(Firefly, Gemini)로 직접 렌더링&lt;/b&gt;하거나, &lt;b data-index-in-node=&quot;77&quot; data-path-to-node=&quot;9&quot;&gt;기존 에셋의 매력을 극대화하는 레이아웃&lt;/b&gt;을 짜는 것이었습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;웹 표준인 860x200px 규격과 모바일 팝업을 고려한 600x200px 규격 안에서,&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;각 인더스트리(뷰티, F&amp;amp;B, IT, 게임 등)의 타겟층을 어떻게 시각적으로 설득했는지 그 과정을 공유합니다.&lt;/p&gt;
&lt;hr data-path-to-node=&quot;10&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;11&quot; data-ke-size=&quot;size23&quot;&gt;  1. POZE (뷰티 / 코스메틱)&lt;/h3&gt;
&lt;h4 data-path-to-node=&quot;12&quot; data-ke-size=&quot;size20&quot;&gt;  [제작 배경]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;13&quot; data-ke-size=&quot;size16&quot;&gt;코스메틱 브랜드 'POZE'의 신규 고객 유치를 위한 5,000원 웰컴 쿠폰 발급 배너입니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;13&quot; data-ke-size=&quot;size16&quot;&gt;뷰티 고관여 타겟에게 따뜻하고 아늑한 인상을 주어 전환을 이끌어내는 것이 목표였습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;띠배너1 -POZE.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8dQH3/dJMcaa6epsV/ZisDe89GU3bfqaswcVRnIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8dQH3/dJMcaa6epsV/ZisDe89GU3bfqaswcVRnIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8dQH3/dJMcaa6epsV/ZisDe89GU3bfqaswcVRnIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8dQH3%2FdJMcaa6epsV%2FZisDe89GU3bfqaswcVRnIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;860&quot; height=&quot;200&quot; data-filename=&quot;띠배너1 -POZE.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;14&quot; data-ke-size=&quot;size20&quot;&gt;⚙️ [핵심 소스 큐레이션 및 보정]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;15&quot; data-ke-size=&quot;size16&quot;&gt;원본 이미지의 매트한 질감이 돋보이도록 정밀한 누끼 작업을 진행했고,&lt;/p&gt;
&lt;p data-path-to-node=&quot;15&quot; data-ke-size=&quot;size16&quot;&gt;배경에는 피부 결이나 파우더를 연상시키는 은은한 텍스처지를 매칭하여 웜톤 특유의 무드를 극대화했습니다.&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;16&quot; data-ke-size=&quot;size20&quot;&gt;  [주요 작업 포인트]&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;17&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;17,0,0&quot;&gt;시선 유도 :&lt;/b&gt; 우측의 제품에서 시작해 좌측의 쿠폰 혜택으로 시선이 자연스럽게 안착하도록 Z-Pattern 레이아웃을 설계했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;18&quot; data-ke-size=&quot;size20&quot;&gt;  [맺음말/회고]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;19&quot; data-ke-size=&quot;size16&quot;&gt;기존 소스를 활용하더라도 톤앤매너에 맞는 배경 텍스처를 세심하게 고르고 얹어내는 것만으로도 전체적인 브랜드의 온도를 맞출 수 있음을 확인했습니다.&lt;/p&gt;
&lt;hr data-path-to-node=&quot;20&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;21&quot; data-ke-size=&quot;size23&quot;&gt;  2. 컬러핏 (퍼스널컬러 / 서비스)&lt;/h3&gt;
&lt;h4 data-path-to-node=&quot;22&quot; data-ke-size=&quot;size20&quot;&gt;  [제작 배경]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;23&quot; data-ke-size=&quot;size16&quot;&gt;자신의 '인생 컬러'를 찾고자 하는 유저들의 호기심을 자극해 진단 서비스로 이끄는 인터랙티브 배너입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;띠배너2 - 퍼스널컬러.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5nun0/dJMcaayoIBy/466MCUKQWAEUaOUg3O1PN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5nun0/dJMcaayoIBy/466MCUKQWAEUaOUg3O1PN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5nun0/dJMcaayoIBy/466MCUKQWAEUaOUg3O1PN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5nun0%2FdJMcaayoIBy%2F466MCUKQWAEUaOUg3O1PN1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;860&quot; height=&quot;200&quot; data-filename=&quot;띠배너2 - 퍼스널컬러.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;24&quot; data-ke-size=&quot;size20&quot;&gt;⚙️ [핵심 소스 큐레이션 및 배치]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;25&quot; data-ke-size=&quot;size16&quot;&gt;복잡한 실사 대신 2D 플랫 벡터 스타일의 팬톤 스와치와 추상적인 그래픽을 조합했습니다. 모바일 환경에서의 가독성을 위해 다채로운 색상들이 튀지 않도록 연한 파스텔 피치 톤 배경으로 시각적 밸런스를 잡았습니다.&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;26&quot; data-ke-size=&quot;size20&quot;&gt;  [주요 작업 포인트]&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;27&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;27,0,0&quot;&gt;CTA(Call To Action) 강조:&lt;/b&gt; 가장 중요한 '진단해 드릴게요!' 버튼에 border-radius로 둥근 모서리를 주고, 빨간색 하트 아이콘을 배치해 명확한 시각적 포인트를 주었습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;28&quot; data-ke-size=&quot;size20&quot;&gt;  [맺음말/회고]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;29&quot; data-ke-size=&quot;size16&quot;&gt;다양한 색상을 다룰 때는 명도 높은 단색 배경으로 전체를 차분하게 눌러주어야 텍스트의 가독성이 무너지지 않는다는 기본기의 중요성을 되새겼습니다.&lt;/p&gt;
&lt;hr data-path-to-node=&quot;30&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;31&quot; data-ke-size=&quot;size23&quot;&gt;  3. JS (전문 기기 / B2B)&lt;/h3&gt;
&lt;h4 data-path-to-node=&quot;32&quot; data-ke-size=&quot;size20&quot;&gt;  [제작 배경]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;33&quot; data-ke-size=&quot;size16&quot;&gt;25년간 축적된 B2B 유통 및 정밀 수리 서비스의 신뢰감과 전문가용 미용 가위의 묵직한 책임감을 표현하고자 했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;띠배너3-가위.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clcmK0/dJMcacJK72l/WLrrSerhEpQiH2sOPGQka1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clcmK0/dJMcacJK72l/WLrrSerhEpQiH2sOPGQka1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clcmK0/dJMcacJK72l/WLrrSerhEpQiH2sOPGQka1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclcmK0%2FdJMcacJK72l%2FWLrrSerhEpQiH2sOPGQka1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;860&quot; height=&quot;200&quot; data-filename=&quot;띠배너3-가위.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;34&quot; data-ke-size=&quot;size20&quot;&gt;⚙️ [핵심 소스 제작(AI 활용)]&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;35&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;35,0,0&quot;&gt;Prompt:&lt;/b&gt; [Subject] Professional hairdressing scissors resting on a sleek dark surface, [Style/Texture] hyper-realistic, highly detailed metallic texture, sharp edges, [Lighting/Atmosphere] cool cinematic studio lighting with deep blue hues, [Camera/Angle] macro close-up, dramatic perspective, [Technical Specs] 8k resolution, photorealistic.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;35,1,0&quot;&gt;Analysis:&lt;/b&gt; '완벽한 절삭력'을 표현하기 위해 차가운 금속성(metallic texture) 키워드를 강조했습니다. 딥 블루 톤의 시네마틱 조명이 가위의 날 선 하이라이트에 맺히도록 유도하여 전문가용 장비의 하이엔드 아우라를 완성했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;36&quot; data-ke-size=&quot;size20&quot;&gt;  [주요 작업 포인트]&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;37&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;37,1,0&quot;&gt;보색 대비와 정렬:&lt;/b&gt; 네이비 배경에 옐로우(골드)와 화이트 텍스트를 올려 가독성을 극대화하고, 우측 정렬로 무게감을 주었습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;38&quot; data-ke-size=&quot;size20&quot;&gt;  [맺음말/회고]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;39&quot; data-ke-size=&quot;size16&quot;&gt;브랜드의 '책임감'이라는 추상적인 가치를 차가운 금속 질감과 빛의 온도로 시각화해 낸 고도화된 작업이었습니다.&lt;/p&gt;
&lt;hr data-path-to-node=&quot;40&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;41&quot; data-ke-size=&quot;size23&quot;&gt;  4. OUVRIR (F&amp;amp;B / 와인)&lt;/h3&gt;
&lt;h4 data-path-to-node=&quot;42&quot; data-ke-size=&quot;size20&quot;&gt;  [제작 배경]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;43&quot; data-ke-size=&quot;size16&quot;&gt;엄선된 프리미엄 와인 테이스팅 노트를 제공하는 서비스로, 프라이빗하고 우아한 저녁의 무드를 전달하고자 했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;띠배너4- 와인.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zCAlc/dJMcaaZq8Eq/j8BgxlKTksl9iOK8yM2rFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zCAlc/dJMcaaZq8Eq/j8BgxlKTksl9iOK8yM2rFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zCAlc/dJMcaaZq8Eq/j8BgxlKTksl9iOK8yM2rFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzCAlc%2FdJMcaaZq8Eq%2Fj8BgxlKTksl9iOK8yM2rFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;860&quot; height=&quot;200&quot; data-filename=&quot;띠배너4- 와인.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;44&quot; data-ke-size=&quot;size20&quot;&gt;⚙️ [핵심 소스 제작(AI 활용)]&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;45&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;45,0,0&quot;&gt;Prompt:&lt;/b&gt; [Subject] Two elegant wine bottles resting on a deep red plush velvet box, [Style/Texture] hyper-realistic, sleek glass texture, soft velvet fabric, [Lighting/Atmosphere] moody cinematic lighting, dramatic shadows, warm highlights, [Camera/Angle] slight low angle, [Technical Specs] dark background, 8k.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;45,1,0&quot;&gt;Analysis:&lt;/b&gt; 매끄러운 유리(sleek glass) 와인병과 푹신한 벨벳(plush velvet)이라는 두 가지 상반된 물성을 한 프레임에 조화시키기 위해 명암 대비가 강한 무디(Moody) 조명 렌더링을 지시했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;46&quot; data-ke-size=&quot;size20&quot;&gt;  [주요 작업 포인트]&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;47&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;47,0,0&quot;&gt;포인트 컬러 디자인:&lt;/b&gt; 브랜드 로고 아래 언더라인으로 시선을 고정시키고, 서브 카피 중 '프리미엄 와인' 텍스트에만 버건디 컬러를 적용하여 배경의 벨벳 무드와 텍스트의 질감을 일치시켰습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;48&quot; data-ke-size=&quot;size20&quot;&gt;  [맺음말/회고]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;49&quot; data-ke-size=&quot;size16&quot;&gt;피사체의 반사광을 살리면서 텍스트가 묻히지 않게 그라데이션 마스크로 명도를 조절하는 포토샵 합성 스킬의 디테일을 살렸습니다.&lt;/p&gt;
&lt;hr data-path-to-node=&quot;50&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;51&quot; data-ke-size=&quot;size23&quot;&gt;  5. 제로 웨이스트 (라이프스타일 / 캠페인)&lt;/h3&gt;
&lt;h4 data-path-to-node=&quot;52&quot; data-ke-size=&quot;size20&quot;&gt;  [제작 배경]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;53&quot; data-ke-size=&quot;size16&quot;&gt;불필요한 포장을 덜어낸 친환경 가치 소비 캠페인으로, 유기적이고 자연 친화적인 메시지를 직관적으로 전달하고자 했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;띠배너5-제로웨이스트.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3Y3ZZ/dJMcafNf9h8/hEpMPJNHzCrvXsV6MKvusK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3Y3ZZ/dJMcafNf9h8/hEpMPJNHzCrvXsV6MKvusK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3Y3ZZ/dJMcafNf9h8/hEpMPJNHzCrvXsV6MKvusK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3Y3ZZ%2FdJMcafNf9h8%2FhEpMPJNHzCrvXsV6MKvusK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;860&quot; height=&quot;200&quot; data-filename=&quot;띠배너5-제로웨이스트.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;54&quot; data-ke-size=&quot;size20&quot;&gt;⚙️ [핵심 소스 제작(AI 활용)]&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;55&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;55,0,0&quot;&gt;Prompt:&lt;/b&gt; [Subject] A miniature earth globe made of real moss and soil, carrying a small eco-friendly cotton tote bag with wooden cutlery, [Style/Texture] 3D realistic miniature, tactile organic textures, [Lighting/Atmosphere] warm studio lighting, soft shadows, [Camera/Angle] top-down angled view, [Technical Specs] isolated on warm beige background.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;55,1,0&quot;&gt;Analysis:&lt;/b&gt; 지구를 흙과 이끼의 실제 질감(real moss and soil)으로 렌더링하여 환경 보호의 메시지를 은유했습니다. 점토 모형 같은 '3D realistic miniature' 양식으로 대중적인 친근감을 높였습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;56&quot; data-ke-size=&quot;size20&quot;&gt;  [주요 작업 포인트]&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;57&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;57,0,0&quot;&gt;입체적 레이어링:&lt;/b&gt; 배경에 반투명한 원형 패턴을 여러 겹 깔아 깊이감을 주었습니다.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;58&quot; data-ke-size=&quot;size20&quot;&gt;  [맺음말/회고]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;59&quot; data-ke-size=&quot;size16&quot;&gt;스톡 이미지 플랫폼에서는 찾기 힘든 유기적 형태의 오브제를 직접 프롬프팅하여 브랜드 캠페인에 완벽히 부합하는 비주얼을 도출했습니다.&lt;/p&gt;
&lt;hr data-path-to-node=&quot;60&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;61&quot; data-ke-size=&quot;size23&quot;&gt;  6. 귀혼 (게임 / 판타지)&lt;/h3&gt;
&lt;h4 data-path-to-node=&quot;62&quot; data-ke-size=&quot;size20&quot;&gt;  [제작 배경]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;63&quot; data-ke-size=&quot;size16&quot;&gt;무협 MMORPG 액션 게임의 동양적 판타지 세계관과 부적이 쏟아지는 화려한 스킬 이펙트를 좁은 배너 프레임 안에 역동적으로 압축했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;띠배너6-귀혼.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8coDr/dJMcagrOXQ7/XcKECchoj252HMsyx9vJNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8coDr/dJMcagrOXQ7/XcKECchoj252HMsyx9vJNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8coDr/dJMcagrOXQ7/XcKECchoj252HMsyx9vJNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8coDr%2FdJMcagrOXQ7%2FXcKECchoj252HMsyx9vJNK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;860&quot; height=&quot;200&quot; data-filename=&quot;띠배너6-귀혼.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;64&quot; data-ke-size=&quot;size20&quot;&gt;⚙️ [핵심 소스 제작(AI 활용)]&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;65&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;65,0,0&quot;&gt;Prompt:&lt;/b&gt; [Subject] Glowing yellow paper talismans swirling around in a magical vortex, traditional asian wooden room background, [Style/Texture] 2D game art style, glowing effects, [Lighting/Atmosphere] dynamic dramatic lighting, magical aura, [Camera/Angle] dynamic action shot, [Technical Specs] high resolution, game asset.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;65,1,0&quot;&gt;Analysis:&lt;/b&gt; 원작 캐릭터 화풍과의 통일성을 위해 '2D game art style'을 베이스로 지정하고, 부적의 궤적(magical vortex)과 자체 발광 효과(glowing effects)를 강조해 스펙터클함을 살렸습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;66&quot; data-ke-size=&quot;size20&quot;&gt;  [주요 작업 포인트]&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;67&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;67,0,0&quot;&gt;Z축 타이포그래피 설계:&lt;/b&gt; '부적의 비'라는 메인 타이틀의 앞공간과 뒷공간으로 파티클 레이어를 엇갈리게 합성하여, 텍스트가 3D 공간 한가운데 떠 있는 듯한 입체적인 깊이감을 구현했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;68&quot; data-ke-size=&quot;size20&quot;&gt;  [맺음말/회고]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;69&quot; data-ke-size=&quot;size16&quot;&gt;2D 캐릭터 원본의 시각적 위계를 해치지 않으면서 이벤트의 스케일을 보여주는 화려한 이펙트 레이어링 스킬을 고도화할 수 있었습니다.&lt;/p&gt;
&lt;hr data-path-to-node=&quot;70&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;71&quot; data-ke-size=&quot;size23&quot;&gt;  7. Aethel (IT 기기 / 스마트워치)&lt;/h3&gt;
&lt;h4 data-path-to-node=&quot;72&quot; data-ke-size=&quot;size20&quot;&gt;  [제작 배경]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;73&quot; data-ke-size=&quot;size16&quot;&gt;클래식한 아날로그 감성과 최신 스마트 퍼포먼스를 동시에 지닌&lt;/p&gt;
&lt;p data-path-to-node=&quot;73&quot; data-ke-size=&quot;size16&quot;&gt;프리미엄 스마트워치의 고도화된 기술력을 시각적으로 설득하는 디자인입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;띠배너7-워치.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1Oa8p/dJMcahdcx56/9E398VnECKpm9YzD3KfWrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1Oa8p/dJMcahdcx56/9E398VnECKpm9YzD3KfWrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1Oa8p/dJMcahdcx56/9E398VnECKpm9YzD3KfWrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1Oa8p%2FdJMcahdcx56%2F9E398VnECKpm9YzD3KfWrk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;860&quot; height=&quot;200&quot; data-filename=&quot;띠배너7-워치.png&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;74&quot; data-ke-size=&quot;size20&quot;&gt;⚙️ [핵심 소스 제작(AI 활용)]&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;75&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;75,0,0&quot;&gt;Prompt:&lt;/b&gt; [Subject] A premium metallic smartwatch with a classic analog face, [Style/Texture] hyper-realistic, sleek stainless steel watch band, glossy glass, [Lighting/Atmosphere] clean studio lighting, sharp reflections, [Camera/Angle] macro close-up, dramatic diagonal placement, [Technical Specs] minimalist light grey background, 8k.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;75,1,0&quot;&gt;Analysis:&lt;/b&gt; 메탈 밴드의 미세한 브러시 결속과 유리의 날카로운 반사광을 위해 macro close-up 앵글을 사용했습니다. 사선 구도는 기기의 엣지와 세련미를 돋보이게 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;76&quot; data-ke-size=&quot;size20&quot;&gt;  [주요 작업 포인트]&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;77&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;77,0,0&quot;&gt;무채색과 포인트 컬러 대비:&lt;/b&gt; 라이트 그레이와 실버 톤으로 전체적인 무드를 차분하게 누른 뒤, 브랜드 네임 'Aethel'에만 강렬한 웜톤 오렌지 포인트를 주어 시각적 각인 효과를 극대화했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;78&quot; data-ke-size=&quot;size20&quot;&gt;  [맺음말/회고]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;79&quot; data-ke-size=&quot;size16&quot;&gt;고해상도 IT 기기 렌더링 시 금속 표면에 맺히는 빛의 방향성을 계산하여, 제품의 품격을 시각적으로 증명하는 좋은 사례가 되었습니다.&lt;/p&gt;
&lt;hr data-path-to-node=&quot;80&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;81&quot; data-ke-size=&quot;size23&quot;&gt;  8. 틱톡 (숏폼 플랫폼 / 모바일 UI)&lt;/h3&gt;
&lt;h4 data-path-to-node=&quot;82&quot; data-ke-size=&quot;size20&quot;&gt;  [제작 배경]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;83&quot; data-ke-size=&quot;size16&quot;&gt;숏폼 트렌드를 주도하는 플랫폼의 아이덴티티를 담아, 모바일 환경(600x200px)에 최적화된 앱 내 챌린지 팝업 배너를 기획했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;띠배너8-틱톡.png&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;201&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdqfRE/dJMcaaZq9ay/VJujLPsRvafzBX6NmqnfCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdqfRE/dJMcaaZq9ay/VJujLPsRvafzBX6NmqnfCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdqfRE/dJMcaaZq9ay/VJujLPsRvafzBX6NmqnfCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdqfRE%2FdJMcaaZq9ay%2FVJujLPsRvafzBX6NmqnfCK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;201&quot; data-filename=&quot;띠배너8-틱톡.png&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;201&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-path-to-node=&quot;83&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;86&quot; data-ke-size=&quot;size20&quot;&gt;  [주요 작업 포인트]&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;87&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;87,0,0&quot;&gt;모바일 가독성 및 중앙 정렬:&lt;/b&gt; 600px의 좁은 너비 안에서 중앙 집중형 레이아웃을 채택하여, '100만 원'과 '지금 다운로드'라는 핵심 정보에 시선이 꽂히도록 설계했습니다. 반응형 퍼블리싱 시 vw 단위를 활용한 텍스트 크기 조절을 염두에 두었습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;88&quot; data-ke-size=&quot;size20&quot;&gt;  [맺음말/회고]&lt;/h4&gt;
&lt;p data-path-to-node=&quot;89&quot; data-ke-size=&quot;size16&quot;&gt;빠르게 스크롤하는 모바일 유저의 호흡을 고려해, 단번에 시선을 사로잡는 고대비 네온 컬러 전략을 성공적으로 구현했습니다.&lt;/p&gt;
&lt;hr data-path-to-node=&quot;90&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디자인 작업에 있어 AI는 단순한 자동화 도구가 아니라,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기획자의 의도를 정확한 빛과 질감으로 구현해 주는 '무한한 소품실'이라는 것을 이번 배너 작업들을 통해 다시 한번 느낍니다.&lt;/p&gt;</description>
      <category>디자인</category>
      <author>danmi01</author>
      <guid isPermaLink="true">https://danmi01.tistory.com/26</guid>
      <comments>https://danmi01.tistory.com/26#entry26comment</comments>
      <pubDate>Fri, 1 May 2026 20:45:08 +0900</pubDate>
    </item>
    <item>
      <title>[Banner Design] AI를 활용한 'Magical Christmas' 배너 제작기</title>
      <link>https://danmi01.tistory.com/25</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요, 디자인 공부를 하고 있는 단미입니다!&lt;/p&gt;
&lt;p data-path-to-node=&quot;1&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 연말의 설렘을 가득 담은 &lt;b data-index-in-node=&quot;18&quot; data-path-to-node=&quot;1&quot;&gt;'Magical Christmas' 프로모션 배너&lt;/b&gt; 작업기를 들고 왔습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;1&quot; data-ke-size=&quot;size16&quot;&gt;이번 작업은 단순히 이미지를 생성하는 것에 그치지 않고, AI를 활용하여 각각의 오브제를 따로 생성하고 이를 포토샵에서 하나의 거대한 세계관으로 조립하는 방식으로 진행해 보았습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;2&quot; data-ke-size=&quot;size16&quot;&gt;그럼, 환상적인 크리스마스 극장으로 함께 떠나볼까요?&lt;/p&gt;
&lt;hr data-path-to-node=&quot;3&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-path-to-node=&quot;4&quot; data-ke-size=&quot;size26&quot;&gt;1. Project Overview (프로젝트 개요)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;5&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5,0,0&quot;&gt;디자인 제목:&lt;/b&gt; Magical Christmas - Shinsegae Theater&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5,1,0&quot;&gt;메인 카피:&lt;/b&gt; SHINSEGAE THEATER&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5,2,0&quot;&gt;사용 툴:&lt;/b&gt; Adobe Firefly, Midjourney (소스 생성), Photoshop (합성 및 리터칭)&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5,3,0&quot;&gt;핵심 시각적 과업:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;5,3,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3D 클레이 질감의 캐릭터와 실사 배경의 조화로운 합성.&lt;/li&gt;
&lt;li&gt;'프레임-배경-전경' 레이어 구성을 통한 압도적인 공간감 구현.&lt;/li&gt;
&lt;li&gt;대형 보름달과 조명을 활용한 시네마틱한 분위기 연출.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-path-to-node=&quot;6&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;겨울 프로모션 배너.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zF4l0/dJMcagd8WvK/rM78n6Bi0GrkjsrrmYh1k1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zF4l0/dJMcagd8WvK/rM78n6Bi0GrkjsrrmYh1k1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zF4l0/dJMcagd8WvK/rM78n6Bi0GrkjsrrmYh1k1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzF4l0%2FdJMcagd8WvK%2FrM78n6Bi0GrkjsrrmYh1k1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;701&quot; height=&quot;876&quot; data-filename=&quot;겨울 프로모션 배너.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-path-to-node=&quot;7&quot; data-ke-size=&quot;size26&quot;&gt;2. Concept &amp;amp; Planning (기획 의도)&lt;/h2&gt;
&lt;p id=&quot;p-rc_9815bce570e0d84c-35&quot; data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;8,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;8,1&quot;&gt;&lt;span&gt;이번 디자인은 &quot;눈 내리는 밤, 마을 위를 날아오르는 루돌프의 마법 같은 순간&quot;을 모티브로 삼았습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;8,1&quot;&gt;&lt;span&gt;크리스마스 하면 신세계 본점 앞의 대형 스크린이 생각나 신세계에서 루돌프를 컨셉으로 이벤트를 한다면 어떤 배너로 홍보 할까? 라고 생각하며 시작하게 되었습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;8,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;8,3&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;8,4&quot;&gt;&lt;span&gt;기존의 평면적인 배너에서 벗어나, 관객이 마치 극장의 1열에서 이 장면을 직관하는 듯한 느낌을 주기 위해 &lt;/span&gt;&lt;b data-index-in-node=&quot;59&quot; data-path-to-node=&quot;8,4&quot;&gt;&lt;span&gt;초광각 로우 앵글(Worm's eye view)&lt;/span&gt;&lt;/b&gt;&lt;span&gt; 전략을 선택했습니다. &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;8,5&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;8,6&quot;&gt; 신세계 라는 브랜드 이미지에 걸맞게 고전적인 우아함(Legacy)과 상상력(Fantasy)이 공존하는 시각적 경험을 목표로 했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;hr data-path-to-node=&quot;9&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-path-to-node=&quot;10&quot; data-ke-size=&quot;size26&quot;&gt;3. Source Analysis &amp;amp; AI Workflow (제작 과정)&lt;/h2&gt;
&lt;p id=&quot;p-rc_9815bce570e0d84c-36&quot; data-path-to-node=&quot;11&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;11,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;11,1&quot;&gt;&lt;span&gt;이번 작업의 핵심은 각 소품의 밀도를 높이기 위해 소스를 개별적으로 생성한 것입니다. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;11&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;11,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;11,3&quot;&gt; 각 파트별로 사용된 프롬프트와 의도를 분석해 드리겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 data-path-to-node=&quot;12&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12&quot;&gt;① 루돌프 캐릭터 (The Hero)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;13&quot; data-ke-size=&quot;size16&quot;&gt;주인공인 루돌프는 따뜻한 질감이 느껴지는 3D 클레이 스타일로 연출하여 친근함을 더했습니다.&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;14&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-path-to-node=&quot;14,0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_9815bce570e0d84c-37&quot; data-path-to-node=&quot;14,1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;14,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;14,1,0&quot;&gt;&lt;span&gt;Prompt:&lt;/span&gt;&lt;/b&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;A cute baby reindeer with a glowing red nose, 3D clay-like texture, fluffy fur details, dynamic jumping pose, wearing a thin brown harness, high-definition 3D render, studio lighting, isolated on white background.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;14,1,1&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;15&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9815bce570e0d84c-38&quot; data-path-to-node=&quot;15,0,1&quot;&gt;&lt;span data-path-to-node=&quot;15,0,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;15,0,1,0&quot;&gt;&lt;span&gt;분석:&lt;/span&gt;&lt;/b&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;3D clay-like texture&lt;/span&gt;&lt;span&gt; 키워드를 통해 캐릭터의 입체감을 살렸으며, &lt;/span&gt;&lt;span&gt;Isolated on white background&lt;/span&gt;&lt;span&gt;를 추가해 포토샵에서 누끼(배경 제거) 작업을 용이하게 했습니다. &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;15,0,1,1&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-path-to-node=&quot;16&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-path-to-node=&quot;16&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16&quot;&gt;② 썰매와 선물 상자 (The Props)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;17&quot; data-ke-size=&quot;size16&quot;&gt;루돌프가 끌고 가는 썰매는 클래식한 레드와 골드 조합으로 고급스러움을 강조했습니다.&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;18&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-path-to-node=&quot;18,0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_9815bce570e0d84c-39&quot; data-path-to-node=&quot;18,1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;18,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,1,0&quot;&gt;&lt;span&gt;Prompt:&lt;/span&gt;&lt;/b&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;An antique luxury red and gold Christmas sleigh, carrying a large red gift box with a big golden silk ribbon, intricate gold carvings, cinematic lighting, 8k resolution, 3D render style, side view.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;18,1,1&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;19&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9815bce570e0d84c-40&quot; data-path-to-node=&quot;19,0,1&quot;&gt;&lt;span data-path-to-node=&quot;19,0,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;19,0,1,0&quot;&gt;&lt;span&gt;분석:&lt;/span&gt;&lt;/b&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Intricate gold carvings&lt;/span&gt;&lt;span&gt; 키워드는 썰매의 디테일을 높여주어 전체적인 디자인의 퀄리티를 끌어올리는 역할을 했습니다.&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;19,0,1,0&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;20&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20&quot;&gt;③ 마을과 보름달 배경 (The Stage)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;21&quot; data-ke-size=&quot;size16&quot;&gt;전체적인 분위기를 결정짓는 배경은 몽환적인 밤의 풍경으로 설정했습니다.&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;22&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-path-to-node=&quot;22,0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_9815bce570e0d84c-41&quot; data-path-to-node=&quot;22,1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;22,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,1,0&quot;&gt;&lt;span&gt;Prompt:&lt;/span&gt;&lt;/b&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;A cozy miniature snowy village at night, warm yellow lights glowing from small wooden house windows, a gigantic bright full moon in the center of the dark blue sky, snow-covered fir trees, cinematic atmosphere, wide angle.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;22,1,1&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;23&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9815bce570e0d84c-42&quot; data-path-to-node=&quot;23,0,1&quot;&gt;&lt;span data-path-to-node=&quot;23,0,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;23,0,1,0&quot;&gt;&lt;span&gt;분석:&lt;/span&gt;&lt;/b&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Gigantic bright full moon&lt;/span&gt;&lt;span&gt;을 중앙에 배치하여 시각적 포인트(Point of Interest)를 만들고, 루돌프의 실루엣이 돋보이도록 유도했습니다.&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;23,0,1,0&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;24&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24&quot;&gt;④ 크리스마스 오너먼트 프레임 (The Frame)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;25&quot; data-ke-size=&quot;size16&quot;&gt;이미지의 깊이감을 더해줄 전경(Foreground) 요소입니다.&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;26&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-path-to-node=&quot;26,0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_9815bce570e0d84c-43&quot; data-path-to-node=&quot;26,1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;26,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;26,1,0&quot;&gt;&lt;span&gt;Prompt:&lt;/span&gt;&lt;/b&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;A festive Christmas pine tree branch wreath frame, hanging red and gold baubles with glittery patterns, sparkling fairy lights, extreme close-up, blurry background, high-definition.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;26,1,1&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;27&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9815bce570e0d84c-44&quot; data-path-to-node=&quot;27,0,1&quot;&gt;&lt;span data-path-to-node=&quot;27,0,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;27,0,1,0&quot;&gt;&lt;span&gt;분석:&lt;/span&gt;&lt;/b&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Extreme close-up&lt;/span&gt;&lt;span&gt;과 전경 배치를 통해 관찰자가 숲속에서 이 광경을 훔쳐보는 듯한 '프레임-배경-전경'의 3단계 레이어 구조를 완성했습니다. &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;27,0,1,1&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-path-to-node=&quot;28&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-path-to-node=&quot;29&quot; data-ke-size=&quot;size26&quot;&gt;4. Design Details (디자인 가공)&lt;/h2&gt;
&lt;p id=&quot;p-rc_9815bce570e0d84c-45&quot; data-path-to-node=&quot;30&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;30,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;30,1&quot;&gt;&lt;span&gt;AI로 생성된 소스들을 포토샵으로 가져와 다음과 같은 세밀한 리터칭 과정을 거쳤습니다. &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;30,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;31&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9815bce570e0d84c-46&quot; data-path-to-node=&quot;31,0,1&quot;&gt;&lt;span data-path-to-node=&quot;31,0,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;31,0,1,0&quot;&gt;&lt;span&gt;레이어링 및 구도:&lt;/span&gt;&lt;/b&gt;&lt;span&gt; 하단에서 위를 올려다보는 듯한 배치를 통해 루돌프의 역동성을 극대화했습니다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li data-path-to-node=&quot;31,0,1&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;31,1,1,0&quot;&gt;광원 일치:&lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt; 중앙의 거대한 달을 메인 광원으로 설정하고, 루돌프와 썰매의 등 부분에 밝은 하이라이트를 추가하여 빛의 방향성을 통일했습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span data-path-to-node=&quot;31,2,0,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;31,2,0,0&quot;&gt;타이포그래피:&lt;/b&gt; 가독성이 좋고 힘 있는 서체를 사용하여 중앙에 배치했습니다. &lt;/span&gt;&lt;span data-path-to-node=&quot;31,2,0,1&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;31,2,0,2&quot;&gt;&lt;span&gt;글자 내부에 은은한 텍스처를 주어 배경의 달과 자연스럽게 어우러지도록 설계했습니다. &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;31,2,0,3&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-path-to-node=&quot;32&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-path-to-node=&quot;33&quot; data-ke-size=&quot;size26&quot;&gt;5. Final Result &amp;amp; Conclusion (최종 결과 및 후기)&lt;/h2&gt;
&lt;p id=&quot;p-rc_9815bce570e0d84c-49&quot; data-path-to-node=&quot;34&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;34,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;34,1&quot;&gt;&lt;span&gt;완성된 배너는 제가 기획했던 '따뜻하면서도 웅장한 겨울의 환상'을 충실히 구현해냈습니다. &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;34,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p id=&quot;p-rc_9815bce570e0d84c-50&quot; data-path-to-node=&quot;35&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;35,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;35,1&quot;&gt;&lt;span&gt;이번 작업을 통해 AI는 단순한 도구를 넘어, 디자이너의 상상을 현실로 만들어주는 협업관계임을 다시 한번 깨달았습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;35&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;35,1&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;35,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;35,3&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;35,4&quot;&gt;&lt;span&gt;특히 각 요소를 따로 생성해 합성하는 방식은 기성 스톡 이미지의 제약에서 벗어나 저만의 독창적인 구도를 만드는 데 큰 도움이 되었습니다. &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;35,5&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-path-to-node=&quot;36&quot; data-ke-size=&quot;size16&quot;&gt;다음에는 또 어떤 상상을 시각화해볼지 벌써 설레네요! 디자인에 대해 궁금한 점이 있다면 언제든 댓글 남겨주세요. 감사합니다. :)&lt;/p&gt;</description>
      <category>디자인</category>
      <author>danmi01</author>
      <guid isPermaLink="true">https://danmi01.tistory.com/25</guid>
      <comments>https://danmi01.tistory.com/25#entry25comment</comments>
      <pubDate>Sat, 18 Apr 2026 01:27:17 +0900</pubDate>
    </item>
    <item>
      <title>flex 클릭 한 번으로 끝내는 CSS Flexbox 완벽 정복</title>
      <link>https://danmi01.tistory.com/24</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ko&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
&lt;title&gt;CSS Flexbox 인터랙티브 학습기&lt;/title&gt;
&lt;style&gt;
  * { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --p1: #494373;
    --p2: #ADBCD9;
    --p3: #F2F2F2;
    --p4: #AABF8A;
    --p5: #D9CE96;
    --bg: #ffffff;
    --text: #2a2838;
    --text-muted: #6b6880;
    --border: rgba(73,67,115,0.18);
  }
  body {
    font-family: 'Pretendard', 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
    background: var(--bg);
    color: var(--text);
    min-height: 100vh;
    padding: 2rem 1rem;
  }
  .wrap { max-width: 820px; margin: 0 auto; }
 
  .top-header {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 1.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1.5px solid var(--border);
  }
  .logo {
    width: 40px; height: 40px; border-radius: 10px;
    background: var(--p1); display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 14px; font-weight: 700; letter-spacing: -0.5px;
  }
  .top-header h1 { font-size: 20px; font-weight: 600; color: var(--p1); letter-spacing: -0.3px; }
  .top-header p { font-size: 13px; color: var(--text-muted); margin-top: 2px; }
 
  .tabs {
    display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px;
  }
  .tab {
    padding: 7px 16px; border-radius: 20px;
    border: 1.5px solid var(--p2);
    background: transparent; font-size: 13px; color: var(--p1);
    cursor: pointer; transition: all 0.15s; font-family: inherit; font-weight: 500;
  }
  .tab:hover { background: rgba(173,188,217,0.3); }
  .tab.active { background: var(--p1); color: #fff; border-color: var(--p1); }
 
  .count-ctrl {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: var(--text-muted); margin-bottom: 12px;
  }
  .count-ctrl button {
    width: 26px; height: 26px; border-radius: 50%;
    border: 1.5px solid var(--p1); background: none; color: var(--p1);
    font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center;
    font-family: inherit; transition: all 0.15s;
  }
  .count-ctrl button:hover { background: var(--p1); color: #fff; }
  .count-num { font-weight: 600; color: var(--p1); min-width: 16px; text-align: center; }
 
  .section-title {
    font-size: 11px; font-weight: 600; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 8px;
  }
  .btn-row { display: flex; gap: 6px; flex-wrap: wrap; }
  .prop-btn {
    display: flex; align-items: center; gap: 6px;
    padding: 7px 14px; border-radius: 8px;
    border: 1.5px solid var(--p2); background: var(--p3);
    font-size: 13px; color: var(--p1); cursor: pointer;
    transition: all 0.15s; font-family: inherit; font-weight: 500;
  }
  .prop-btn:hover { border-color: var(--p1); background: #eceaf7; }
  .prop-btn.active { background: var(--p1); color: #fff; border-color: var(--p1); }
  .warn-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 18px; height: 18px; border-radius: 50%;
    background: var(--p5); color: var(--p1);
    font-size: 11px; font-weight: 700; cursor: pointer;
    border: none; font-family: inherit; transition: background 0.15s;
    flex-shrink: 0;
  }
  .warn-icon:hover { background: #c9be80; }
 
  .preview-area {
    background: var(--p3); border-radius: 14px;
    border: 1.5px solid var(--p2); padding: 20px;
    min-height: 210px; margin: 14px 0;
  }
  .flex-container {
    display: flex; width: 100%; min-height: 160px;
    background: rgba(173,188,217,0.18);
    border: 2px dashed var(--p2); border-radius: 10px; padding: 10px;
    transition: all 0.35s cubic-bezier(.4,0,.2,1);
  }
  .flex-item {
    width: 52px; height: 52px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 600; flex-shrink: 0;
    transition: all 0.35s cubic-bezier(.4,0,.2,1);
  }
 
  .code-box {
    background: #2d2b45; border-radius: 10px;
    padding: 14px 18px; font-family: 'Fira Code', 'Courier New', monospace;
    font-size: 13px; color: #e0ddf5; margin-bottom: 12px; line-height: 1.8;
    overflow-x: auto; white-space: pre;
  }
  .code-prop { color: #ADBCD9; }
  .code-val { color: #D9CE96; }
 
  .info-box {
    background: #eceaf7; border-left: 3px solid var(--p1);
    border-radius: 0 10px 10px 0; padding: 10px 16px;
    font-size: 13px; color: var(--p1); line-height: 1.7;
  }
 
  .grow-controls {
    display: none; flex-wrap: wrap; gap: 8px;
    align-items: center; margin-top: 10px;
  }
  .grow-item-ctrl {
    display: flex; align-items: center; gap: 5px;
    font-size: 13px; color: var(--p1);
  }
  .grow-item-ctrl input[type=number] {
    width: 48px; padding: 4px 6px; border-radius: 6px;
    border: 1.5px solid var(--p2); font-size: 13px;
    font-family: inherit; color: var(--p1); background: var(--p3);
    outline: none; transition: border-color 0.15s;
  }
  .grow-item-ctrl input:focus { border-color: var(--p1); }
 
  .overlay-bg {
    display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(73,67,115,0.45); z-index: 200;
    align-items: center; justify-content: center;
  }
  .overlay-bg.show { display: flex; }
  .popup {
    background: #fff; border-radius: 16px; padding: 28px 30px;
    max-width: 390px; width: 90%; border: 1.5px solid var(--p1);
    position: relative; box-shadow: 0 8px 40px rgba(73,67,115,0.18);
    animation: popIn 0.18s ease;
  }
  @keyframes popIn {
    from { transform: scale(0.92); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
  }
  .popup h3 { font-size: 15px; font-weight: 600; color: var(--p1); margin-bottom: 10px; }
  .popup p { font-size: 13px; line-height: 1.75; color: #555; }
  .popup .close-btn {
    position: absolute; top: 14px; right: 16px;
    background: none; border: none; font-size: 20px; cursor: pointer;
    color: var(--p1); line-height: 1; padding: 0;
  }
  .popup .warn-badge {
    display: inline-block; background: var(--p5); color: var(--p1);
    font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 12px; margin-bottom: 10px;
  }
 
  .divider { height: 1px; background: var(--p2); opacity: 0.4; margin: 14px 0; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;wrap&quot;&gt;
  &lt;div class=&quot;top-header&quot;&gt;
    &lt;div class=&quot;logo&quot;&gt;Fx&lt;/div&gt;
    &lt;div&gt;
      &lt;h1&gt;CSS Flexbox 인터랙티브 학습기&lt;/h1&gt;
      &lt;p&gt;버튼을 눌러 각 속성이 어떻게 동작하는지 직접 확인해보세요&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
 
  &lt;div class=&quot;tabs&quot; id=&quot;propTabs&quot;&gt;
    &lt;button class=&quot;tab active&quot; data-prop=&quot;justify-content&quot;&gt;justify-content&lt;/button&gt;
    &lt;button class=&quot;tab&quot; data-prop=&quot;align-items&quot;&gt;align-items&lt;/button&gt;
    &lt;button class=&quot;tab&quot; data-prop=&quot;flex-direction&quot;&gt;flex-direction&lt;/button&gt;
    &lt;button class=&quot;tab&quot; data-prop=&quot;flex-wrap&quot;&gt;flex-wrap&lt;/button&gt;
    &lt;button class=&quot;tab&quot; data-prop=&quot;gap&quot;&gt;gap&lt;/button&gt;
    &lt;button class=&quot;tab&quot; data-prop=&quot;flex-grow&quot;&gt;flex-grow&lt;/button&gt;
  &lt;/div&gt;
 
  &lt;div class=&quot;count-ctrl&quot;&gt;
    &lt;span&gt;아이템 수&lt;/span&gt;
    &lt;button id=&quot;decItem&quot;&gt;-&lt;/button&gt;
    &lt;span class=&quot;count-num&quot; id=&quot;itemCount&quot;&gt;4&lt;/span&gt;
    &lt;button id=&quot;incItem&quot;&gt;+&lt;/button&gt;
  &lt;/div&gt;
 
  &lt;div id=&quot;btnGroup&quot;&gt;
    &lt;div class=&quot;section-title&quot; id=&quot;sectionLabel&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;btn-row&quot; id=&quot;btnRow&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;grow-controls&quot; id=&quot;growControls&quot;&gt;&lt;/div&gt;
  &lt;/div&gt;
 
  &lt;div class=&quot;preview-area&quot;&gt;
    &lt;div class=&quot;flex-container&quot; id=&quot;flexContainer&quot;&gt;&lt;/div&gt;
  &lt;/div&gt;
 
  &lt;div class=&quot;code-box&quot; id=&quot;codeBox&quot;&gt;&lt;/div&gt;
  &lt;div class=&quot;info-box&quot; id=&quot;infoBox&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
 
&lt;div class=&quot;overlay-bg&quot; id=&quot;overlayBg&quot;&gt;
  &lt;div class=&quot;popup&quot;&gt;
    &lt;button class=&quot;close-btn&quot; id=&quot;closePopup&quot;&gt;&amp;#215;&lt;/button&gt;
    &lt;div class=&quot;warn-badge&quot;&gt;주의사항&lt;/div&gt;
    &lt;h3 id=&quot;popupTitle&quot;&gt;&lt;/h3&gt;
    &lt;p id=&quot;popupBody&quot;&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;
 
&lt;script&gt;
const itemColors = [
  { bg: &quot;#494373&quot;, color: &quot;#fff&quot; },
  { bg: &quot;#AABF8A&quot;, color: &quot;#fff&quot; },
  { bg: &quot;#b5a8e0&quot;, color: &quot;#fff&quot; },
  { bg: &quot;#D9CE96&quot;, color: &quot;#494373&quot; },
  { bg: &quot;#8ab5a0&quot;, color: &quot;#fff&quot; },
  { bg: &quot;#d9a896&quot;, color: &quot;#fff&quot; },
];
 
const props = {
  &quot;justify-content&quot;: {
    values: [
      { val: &quot;flex-start&quot;, desc: &quot;아이템을 주축의 시작점(왼쪽)에 붙여 정렬합니다.&quot; },
      { val: &quot;flex-end&quot;, desc: &quot;아이템을 주축의 끝점(오른쪽)에 붙여 정렬합니다.&quot; },
      { val: &quot;center&quot;, desc: &quot;아이템을 주축 기준 가운데에 정렬합니다.&quot; },
      { val: &quot;space-between&quot;, warn: true, warnTitle: &quot;space-between 주의&quot;, warnBody: &quot;첫 번째와 마지막 아이템은 컨테이너 끝에 붙고 나머지 공간을 균등 분배합니다. 아이템이 1개일 때는 flex-start처럼 동작하므로 주의하세요.&quot;, desc: &quot;양 끝 아이템은 가장자리에 붙고, 사이 공간을 균등하게 나눕니다.&quot; },
      { val: &quot;space-around&quot;, warn: true, warnTitle: &quot;space-around 주의&quot;, warnBody: &quot;각 아이템 양쪽에 동일한 여백이 생기므로, 아이템 사이 간격은 가장자리 간격의 2배가 됩니다. 시각적 불균형이 생길 수 있어요.&quot;, desc: &quot;각 아이템 양쪽에 동일한 여백을 배치합니다. (아이템 사이 간격 = 가장자리의 2배)&quot; },
      { val: &quot;space-evenly&quot;, desc: &quot;모든 간격(아이템 사이 + 가장자리)을 완전히 균등하게 나눕니다.&quot; },
    ],
    apply(fc, val) { resetStyles(fc); fc.style.justifyContent = val; },
    code: (val) =&gt; `.container {\n  display: &lt;v&gt;flex&lt;/v&gt;;\n  &lt;p&gt;justify-content&lt;/p&gt;: &lt;v&gt;${val}&lt;/v&gt;;\n}`,
  },
  &quot;align-items&quot;: {
    values: [
      { val: &quot;stretch&quot;, warn: true, warnTitle: &quot;stretch 주의&quot;, warnBody: &quot;아이템에 height가 명시되어 있으면 stretch가 무시됩니다. height를 지정하지 않아야 stretch가 작동합니다.&quot;, desc: &quot;아이템을 교차축 방향으로 컨테이너 높이만큼 늘립니다. (기본값, height 미지정 시)&quot; },
      { val: &quot;flex-start&quot;, desc: &quot;교차축(세로)의 시작점 기준으로 아이템을 정렬합니다.&quot; },
      { val: &quot;flex-end&quot;, desc: &quot;교차축(세로)의 끝점 기준으로 아이템을 정렬합니다.&quot; },
      { val: &quot;center&quot;, desc: &quot;교차축 기준 가운데에 아이템을 정렬합니다.&quot; },
      { val: &quot;baseline&quot;, warn: true, warnTitle: &quot;baseline 주의&quot;, warnBody: &quot;글꼴 크기가 다를 때만 효과가 명확히 보입니다. 아이템 크기가 동일하면 flex-start와 구분이 어렵습니다.&quot;, desc: &quot;아이템 안의 텍스트 기준선(baseline)을 맞춰 정렬합니다.&quot; },
    ],
    apply(fc, val) { resetStyles(fc); fc.style.alignItems = val; },
    code: (val) =&gt; `.container {\n  display: &lt;v&gt;flex&lt;/v&gt;;\n  &lt;p&gt;align-items&lt;/p&gt;: &lt;v&gt;${val}&lt;/v&gt;;\n}`,
  },
  &quot;flex-direction&quot;: {
    values: [
      { val: &quot;row&quot;, desc: &quot;아이템을 가로(왼쪽→오른쪽)로 배치합니다. 기본값입니다.&quot; },
      { val: &quot;row-reverse&quot;, warn: true, warnTitle: &quot;row-reverse 주의&quot;, warnBody: &quot;시각적 순서와 DOM 순서가 달라져 스크린 리더 접근성에 문제가 생길 수 있습니다. 순서 변경은 CSS가 아닌 HTML 마크업 순서로 해결하는 걸 권장합니다.&quot;, desc: &quot;아이템을 가로(오른쪽→왼쪽)로 역방향 배치합니다.&quot; },
      { val: &quot;column&quot;, desc: &quot;아이템을 세로(위→아래)로 배치합니다. 주축이 세로가 됩니다.&quot; },
      { val: &quot;column-reverse&quot;, warn: true, warnTitle: &quot;column-reverse 주의&quot;, warnBody: &quot;row-reverse와 마찬가지로 시각 순서와 DOM 순서가 달라집니다. 접근성에 주의하세요.&quot;, desc: &quot;아이템을 세로(아래→위)로 역방향 배치합니다.&quot; },
    ],
    apply(fc, val) { resetStyles(fc); fc.style.flexDirection = val; },
    code: (val) =&gt; `.container {\n  display: &lt;v&gt;flex&lt;/v&gt;;\n  &lt;p&gt;flex-direction&lt;/p&gt;: &lt;v&gt;${val}&lt;/v&gt;;\n}`,
  },
  &quot;flex-wrap&quot;: {
    values: [
      { val: &quot;nowrap&quot;, warn: true, warnTitle: &quot;nowrap 주의&quot;, warnBody: &quot;기본값입니다. 공간이 부족해도 아이템이 줄바꿈 되지 않고 넘치거나 축소됩니다. 반응형 레이아웃에서 의도치 않은 overflow가 발생할 수 있어요.&quot;, desc: &quot;아이템을 한 줄에 모두 배치합니다. 공간이 부족해도 줄바꿈 없음. (기본값)&quot; },
      { val: &quot;wrap&quot;, desc: &quot;공간이 부족하면 아이템이 다음 줄로 넘어갑니다.&quot; },
      { val: &quot;wrap-reverse&quot;, warn: true, warnTitle: &quot;wrap-reverse 주의&quot;, warnBody: &quot;줄바꿈 방향이 반대가 되어 첫 줄이 아래에, 마지막 줄이 위에 표시됩니다. 직관적이지 않아 의도치 않은 레이아웃이 발생할 수 있습니다.&quot;, desc: &quot;줄바꿈 방향이 반대입니다. 아이템이 위→아래 대신 아래→위로 쌓입니다.&quot; },
    ],
    apply(fc, val) { resetStyles(fc); fc.style.flexWrap = val; },
    code: (val) =&gt; `.container {\n  display: &lt;v&gt;flex&lt;/v&gt;;\n  &lt;p&gt;flex-wrap&lt;/p&gt;: &lt;v&gt;${val}&lt;/v&gt;;\n}`,
  },
  &quot;gap&quot;: {
    values: [
      { val: &quot;0px&quot;, desc: &quot;아이템 사이에 간격이 없습니다.&quot; },
      { val: &quot;8px&quot;, desc: &quot;아이템 사이에 8px 간격을 줍니다.&quot; },
      { val: &quot;16px&quot;, desc: &quot;아이템 사이에 16px 간격을 줍니다.&quot; },
      { val: &quot;24px&quot;, desc: &quot;아이템 사이에 24px 간격을 줍니다.&quot; },
      { val: &quot;8px 24px&quot;, warn: true, warnTitle: &quot;gap 두 값 주의&quot;, warnBody: &quot;gap에 두 값을 쓰면 첫 번째는 row-gap(줄 사이), 두 번째는 column-gap(열 사이)을 의미합니다. row-gap과 column-gap을 별도로 지정하는 것과 동일합니다.&quot;, desc: &quot;row-gap: 8px, column-gap: 24px를 한 번에 지정한 예시입니다.&quot; },
    ],
    apply(fc, val) { resetStyles(fc); fc.style.gap = val; },
    code: (val) =&gt; `.container {\n  display: &lt;v&gt;flex&lt;/v&gt;;\n  &lt;p&gt;gap&lt;/p&gt;: &lt;v&gt;${val}&lt;/v&gt;;\n}`,
  },
  &quot;flex-grow&quot;: {
    values: [
      { val: &quot;0&quot;, desc: &quot;아이템이 남은 공간을 차지하지 않습니다. 기본값입니다.&quot; },
      { val: &quot;1&quot;, desc: &quot;모든 아이템이 남은 공간을 균등하게 나눠 가집니다.&quot; },
      { val: &quot;custom&quot;, warn: true, warnTitle: &quot;flex-grow 비율 주의&quot;, warnBody: &quot;flex-grow 값은 절대 크기가 아닌 비율입니다. 1:2:1이면 전체를 4등분하여 각각 1/4, 2/4, 1/4을 가져갑니다. flex-basis나 min-width의 영향을 같이 받으므로 실제 크기는 예상과 다를 수 있습니다.&quot;, desc: &quot;아이템별로 다른 flex-grow 값을 설정해 공간을 비율로 나눌 수 있습니다.&quot; },
    ],
    apply(fc, val, grows) {
      resetStyles(fc);
      fc.style.gap = &quot;8px&quot;;
      const items = fc.querySelectorAll(&quot;.flex-item&quot;);
      items.forEach((item, i) =&gt; {
        item.style.flexGrow = val === &quot;custom&quot; ? (grows[i] ?? 1) : val;
      });
    },
    code(val, grows) {
      if (val === &quot;custom&quot; &amp;&amp; grows) {
        const lines = grows.map((g, i) =&gt; `.item-${i+1} { &lt;p&gt;flex-grow&lt;/p&gt;: &lt;v&gt;${g}&lt;/v&gt;; }`).join(&quot;\n&quot;);
        return `.container { display: &lt;v&gt;flex&lt;/v&gt;; gap: &lt;v&gt;8px&lt;/v&gt;; }\n${lines}`;
      }
      return `.container {\n  display: &lt;v&gt;flex&lt;/v&gt;;\n  gap: &lt;v&gt;8px&lt;/v&gt;;\n}\n.item { &lt;p&gt;flex-grow&lt;/p&gt;: &lt;v&gt;${val}&lt;/v&gt;; }`;
    },
  }
};
 
let currentProp = &quot;justify-content&quot;;
let currentVal = &quot;flex-start&quot;;
let itemCount = 4;
let customGrows = [1, 2, 1, 1];
 
function resetStyles(fc) {
  fc.style.justifyContent = &quot;&quot;;
  fc.style.alignItems = &quot;&quot;;
  fc.style.flexDirection = &quot;&quot;;
  fc.style.flexWrap = &quot;&quot;;
  fc.style.gap = &quot;&quot;;
  fc.querySelectorAll(&quot;.flex-item&quot;).forEach(el =&gt; el.style.flexGrow = &quot;&quot;);
}
 
function renderItems() {
  const fc = document.getElementById(&quot;flexContainer&quot;);
  fc.innerHTML = &quot;&quot;;
  for (let i = 0; i &lt; itemCount; i++) {
    const d = document.createElement(&quot;div&quot;);
    d.className = &quot;flex-item&quot;;
    d.textContent = i + 1;
    d.style.background = itemColors[i % itemColors.length].bg;
    d.style.color = itemColors[i % itemColors.length].color;
    fc.appendChild(d);
  }
}
 
function renderBtns() {
  const propDef = props[currentProp];
  document.getElementById(&quot;sectionLabel&quot;).textContent = currentProp + &quot; 값 선택&quot;;
  const row = document.getElementById(&quot;btnRow&quot;);
  row.innerHTML = &quot;&quot;;
  propDef.values.forEach(v =&gt; {
    const btn = document.createElement(&quot;button&quot;);
    btn.className = &quot;prop-btn&quot; + (v.val === currentVal ? &quot; active&quot; : &quot;&quot;);
    const label = document.createTextNode(v.val);
    btn.appendChild(label);
    if (v.warn) {
      const w = document.createElement(&quot;button&quot;);
      w.className = &quot;warn-icon&quot;;
      w.textContent = &quot;!&quot;;
      w.title = &quot;주의사항 보기&quot;;
      w.onclick = (e) =&gt; { e.stopPropagation(); showPopup(v.warnTitle, v.warnBody); };
      btn.appendChild(w);
    }
    btn.addEventListener(&quot;click&quot;, () =&gt; { currentVal = v.val; renderBtns(); applyProp(); });
    row.appendChild(btn);
  });
 
  const gc = document.getElementById(&quot;growControls&quot;);
  gc.innerHTML = &quot;&quot;;
  gc.style.display = &quot;none&quot;;
  if (currentProp === &quot;flex-grow&quot; &amp;&amp; currentVal === &quot;custom&quot;) {
    gc.style.display = &quot;flex&quot;;
    const lbl = document.createElement(&quot;span&quot;);
    lbl.style.cssText = &quot;font-size:13px;color:#494373;margin-right:4px;font-weight:500;&quot;;
    lbl.textContent = &quot;각 아이템 flex-grow:&quot;;
    gc.appendChild(lbl);
    for (let i = 0; i &lt; itemCount; i++) {
      const wrap = document.createElement(&quot;div&quot;);
      wrap.className = &quot;grow-item-ctrl&quot;;
      const dot = document.createElement(&quot;span&quot;);
      dot.style.cssText = `color:${itemColors[i%itemColors.length].bg};font-weight:600;`;
      dot.textContent = (i + 1);
      const inp = document.createElement(&quot;input&quot;);
      inp.type = &quot;number&quot;; inp.min = &quot;0&quot;; inp.max = &quot;10&quot;; inp.step = &quot;1&quot;;
      inp.value = customGrows[i] ?? 1;
      inp.addEventListener(&quot;input&quot;, () =&gt; { customGrows[i] = parseInt(inp.value) || 0; applyProp(); });
      wrap.appendChild(dot);
      wrap.appendChild(inp);
      gc.appendChild(wrap);
    }
  }
}
 
function processCode(raw) {
  return raw.replace(/&lt;p&gt;/g, '&lt;span class=&quot;code-prop&quot;&gt;').replace(/&lt;\/p&gt;/g, '&lt;/span&gt;')
            .replace(/&lt;v&gt;/g, '&lt;span class=&quot;code-val&quot;&gt;').replace(/&lt;\/v&gt;/g, '&lt;/span&gt;');
}
 
function applyProp() {
  const fc = document.getElementById(&quot;flexContainer&quot;);
  const propDef = props[currentProp];
  propDef.apply(fc, currentVal, customGrows);
  const valObj = propDef.values.find(v =&gt; v.val === currentVal);
  document.getElementById(&quot;infoBox&quot;).textContent = valObj ? valObj.desc : &quot;&quot;;
  document.getElementById(&quot;codeBox&quot;).innerHTML = processCode(propDef.code(currentVal, customGrows));
}
 
function showPopup(title, body) {
  document.getElementById(&quot;popupTitle&quot;).textContent = title;
  document.getElementById(&quot;popupBody&quot;).textContent = body;
  document.getElementById(&quot;overlayBg&quot;).classList.add(&quot;show&quot;);
}
 
document.getElementById(&quot;closePopup&quot;).addEventListener(&quot;click&quot;, () =&gt; document.getElementById(&quot;overlayBg&quot;).classList.remove(&quot;show&quot;));
document.getElementById(&quot;overlayBg&quot;).addEventListener(&quot;click&quot;, (e) =&gt; {
  if (e.target === document.getElementById(&quot;overlayBg&quot;)) document.getElementById(&quot;overlayBg&quot;).classList.remove(&quot;show&quot;);
});
document.getElementById(&quot;propTabs&quot;).addEventListener(&quot;click&quot;, (e) =&gt; {
  const tab = e.target.closest(&quot;.tab&quot;);
  if (!tab) return;
  currentProp = tab.dataset.prop;
  currentVal = props[currentProp].values[0].val;
  document.querySelectorAll(&quot;.tab&quot;).forEach(t =&gt; t.classList.remove(&quot;active&quot;));
  tab.classList.add(&quot;active&quot;);
  renderBtns();
  applyProp();
});
document.getElementById(&quot;incItem&quot;).addEventListener(&quot;click&quot;, () =&gt; {
  if (itemCount &lt; 6) { itemCount++; document.getElementById(&quot;itemCount&quot;).textContent = itemCount; renderItems(); applyProp(); }
});
document.getElementById(&quot;decItem&quot;).addEventListener(&quot;click&quot;, () =&gt; {
  if (itemCount &gt; 1) { itemCount--; document.getElementById(&quot;itemCount&quot;).textContent = itemCount; renderItems(); applyProp(); }
});
 
renderItems();
renderBtns();
applyProp();
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;7&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7&quot;&gt;  제작 배경: &quot;왜 만들었나요?&quot;&lt;/b&gt; 웹 디자인과 퍼블리싱을 공부하다 보면 가장 높은 벽 중 하나가 바로 &lt;b data-index-in-node=&quot;59&quot; data-path-to-node=&quot;7&quot;&gt;CSS Flexbox&lt;/b&gt; 레이아웃입니다. justify-content와 align-items의 차이, flex-grow가 실제 공간을 나누는 복잡한 계산 방식 등 이론만으로는 직관적으로 이해하기 어려운 부분들이 많았습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;시중의 레퍼런스 사이트들은 단순히 고정된 예시만 보여주어, 내가 원하는 아이템 개수로 자유롭게 테스트하기엔 한계가 있었습니다. 그래서 &quot;내가 직접 값을 조절하며 즉각적인 변화를 확인하고, 실무에 바로 쓸 수 있는 코드까지 바로 얻을 수 있는 도구&quot;가 필요해 직접 제작하게 되었습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;9&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;9,0,0&quot;&gt;포인트:&lt;/b&gt; &quot;눈으로 보고 손으로 익히는 CSS 레이아웃, 복잡한 이론 대신 직관적인 시뮬레이션&quot;&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;9,1,0&quot;&gt;특징:&lt;/b&gt; HTML 파일 하나로 실행되는 가벼운 구조이며, 별도의 설치 없이 브라우저에서 즉시 학습할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-path-to-node=&quot;10&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;11&quot; data-ke-size=&quot;size23&quot;&gt;✨ 주요 기능 소개&lt;/h3&gt;
&lt;p data-path-to-node=&quot;12&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12&quot;&gt;① 실시간 속성 시뮬레이션 (Real-time Preview)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;13&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;justify-content, align-items, flex-direction 등 핵심 속성 버튼을 클릭하면 즉시 레이아웃 변화를 확인할 수 있습니다.&lt;/li&gt;
&lt;li&gt;주축(Main Axis)과 교차축(Cross Axis)에 따른 아이템의 배치를 시각적으로 완벽히 이해하도록 돕습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;14&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;14&quot;&gt;② 아이템 개수 자유 조절 (Dynamic Item Control)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;15&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;아이템 수를 1개부터 6개까지 자유롭게 조절하며, 아이템 개수에 따라 space-between이나 space-around가 어떻게 다르게 반응하는지 실시간으로 비교해 볼 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16&quot;&gt;③ 스마트 코드 제너레이터 (Live Code Snippet)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;17&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;현재 설정된 레이아웃이 실제 CSS 코드로 어떻게 구현되는지 하단 &lt;b data-index-in-node=&quot;37&quot; data-path-to-node=&quot;17,0,0&quot;&gt;Code Box&lt;/b&gt;에 실시간으로 표시됩니다.&lt;/li&gt;
&lt;li&gt;가독성 높은 구문 강조(Syntax Highlighting)가 적용되어 있어, 코드를 그대로 복사해 본인의 프로젝트에 바로 적용할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;18&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18&quot;&gt;④ 초보자를 위한 '주의사항' 팝업 (Expert Tips)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;19&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;flex-wrap의 nowrap 사용 시 주의점이나, flex-grow의 비율 계산 방식 등 입문자가 자주 하는 실수들을 &lt;b data-index-in-node=&quot;68&quot; data-path-to-node=&quot;19,0,0&quot;&gt;'!' 아이콘&lt;/b&gt;을 통해 꿀팁으로 제공합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-path-to-node=&quot;20&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;21&quot; data-ke-size=&quot;size23&quot;&gt;  사용 방법&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-path-to-node=&quot;22&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;상단에 첨부된 &lt;b data-index-in-node=&quot;8&quot; data-path-to-node=&quot;22,0,0&quot;&gt;'flex-learner.html'&lt;/b&gt; 파일을 다운로드하여 실행하거나, 코드 블록을 확인합니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,1,0&quot;&gt;속성 탭&lt;/b&gt;에서 학습하고 싶은 Flexbox 속성을 선택합니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,2,0&quot;&gt;아이템 수&lt;/b&gt; 버튼을 눌러 테스트하고 싶은 환경을 설정합니다.&lt;/li&gt;
&lt;li&gt;다양한 &lt;b data-index-in-node=&quot;4&quot; data-path-to-node=&quot;22,3,0&quot;&gt;값(Value) 버튼&lt;/b&gt;을 눌러보며 레이아웃이 어떻게 변하는지 감상합니다.&lt;/li&gt;
&lt;li&gt;하단에 자동으로 생성된 &lt;b data-index-in-node=&quot;13&quot; data-path-to-node=&quot;22,4,0&quot;&gt;CSS 코드&lt;/b&gt;를 확인하고 실무에 활용해 보세요!&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-path-to-node=&quot;23&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;24&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;25&quot; data-ke-size=&quot;size16&quot;&gt;단순히 CSS 속성을 암기하는 것을 넘어, 레이아웃이 유연하게 반응하는 원리를 깊이 있게 이해할 수 있는 도구가 되었으면 좋겠습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;26&quot; data-ke-size=&quot;size16&quot;&gt;이 프로그램은 HTML 파일 하나로 구성되어 있어, 소스 코드를 복사해 개인 블로그 페이지에 적용하거나 로컬에 저장해두고 언제든 꺼내 쓰실 수 있습니다. 저처럼 레이아웃 구조를 잡을 때마다 고민이 많으셨던 분들께 이 작은 도구가 큰 도움이 되길 바랍니다!&lt;/p&gt;</description>
      <category>작업</category>
      <author>danmi01</author>
      <guid isPermaLink="true">https://danmi01.tistory.com/24</guid>
      <comments>https://danmi01.tistory.com/24#entry24comment</comments>
      <pubDate>Fri, 17 Apr 2026 12:33:15 +0900</pubDate>
    </item>
    <item>
      <title>[Project] 가을 한자락 머무는 곳: 생성형 AI로 완성한 '한옥 스테이' 프로모션 배너</title>
      <link>https://danmi01.tistory.com/23</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요, 디자인 공부를 하고 있는 &lt;b data-index-in-node=&quot;21&quot; data-path-to-node=&quot;4&quot;&gt;단미&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;사계절 프로모션 배너 제작중에 있습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;이번에는 고즈넉한 가을의 정취를 느낄 수 있는 &lt;b data-index-in-node=&quot;69&quot; data-path-to-node=&quot;5&quot;&gt;'나만 알고 싶은 한옥 스테이'&lt;/b&gt; 프로모션 배너 디자인을 진행해 보았습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;지난 작업이 통통 튀는 컬러감의 키링 오브제에 집중했다면, 이번에는 전통적인 한옥의 창틀(팔각창)을 프레임으로 활용하여 마치 창밖의 풍경을 감상하는 듯한 공간감과 가을 특유의 따뜻한 감성을 담아내는 데 중점을 두었습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;이번에도 Adobe Firefly와 Gemini를 활용해 모든 핵심 소스를 직접 제작했습니다.&lt;/p&gt;
&lt;hr data-path-to-node=&quot;7&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;8&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8&quot;&gt;1. 디자인 모티브 및 기획: &quot;한옥에서 누리는 온전한 휴식&quot;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;이번 프로젝트의 키워드는 '머무름'과 '쉼'입니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;바쁜 일상에서 벗어나 단풍이 물든 한옥 마루에 앉아 따뜻한 차 한 잔을 마시는 순간을 상상했습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;10&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,0,0&quot;&gt;비주얼 컨셉:&lt;/b&gt; 팔각 창틀을 메인 프레임으로 설정하여 시선을 중앙으로 집중시키고, 그 주변에 가을을 상징하는 오브제(낙엽, 밤, 감, 꽃신 등)를 배치해 풍성한 가을 느낌을 연출했습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,1,0&quot;&gt;사이즈 설정:&lt;/b&gt; 인스타그램 카드뉴스나 웹 배너로 활용하기 좋은 세로형 규격으로 작업하여, 고화질 AI 소스들의 질감이 생생하게 전달되도록 했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;가을 프로모션 배너 수정.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RVUfv/dJMcagkRK6d/fKJ0PAQ44i5MkmgV2vDZDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RVUfv/dJMcagkRK6d/fKJ0PAQ44i5MkmgV2vDZDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RVUfv/dJMcagkRK6d/fKJ0PAQ44i5MkmgV2vDZDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRVUfv%2FdJMcagkRK6d%2FfKJ0PAQ44i5MkmgV2vDZDK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;578&quot; height=&quot;723&quot; data-filename=&quot;가을 프로모션 배너 수정.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-path-to-node=&quot;11&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;12&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12&quot;&gt;2. 핵심 소스 제작: AI로 구현한 가을의 조각들&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;13&quot; data-ke-size=&quot;size16&quot;&gt;원하는 구도와 소품을 얻기 위해 각 요소별로 세밀한 프롬프트를 설계했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;13&quot; data-ke-size=&quot;size16&quot;&gt;이번 작업에서 생성한 주요 소스들과 분석한 프롬프트를 공유합니다.&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;14&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;14&quot;&gt;(1) 창 밖으로 펼쳐지는 가을 한옥 풍경 (Firefly)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-path-to-node=&quot;15&quot; data-ke-size=&quot;size16&quot;&gt;창틀 너머로 보일 메인 배경입니다. 단풍과 은행나무가 어우러진 한옥 마당의 평화로운 분위기를 요청했습니다.&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;16&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-path-to-node=&quot;16,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16,0&quot;&gt;[AI Prompt]&lt;/b&gt; A cinematic, high-definition photo of a traditional Korean Hanok village during autumn. Vibrant red maple trees and golden yellow ginkgo trees under warm sunset lighting. In the center, a traditional stone well and a small tea table with a teapot. Soft, nostalgic atmosphere.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Firefly.jpg&quot; data-origin-width=&quot;2304&quot; data-origin-height=&quot;1792&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qm6O9/dJMcaipsBGT/jhqUg7PGl5gB40XOxO7Whk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qm6O9/dJMcaipsBGT/jhqUg7PGl5gB40XOxO7Whk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qm6O9/dJMcaipsBGT/jhqUg7PGl5gB40XOxO7Whk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqm6O9%2FdJMcaipsBGT%2FjhqUg7PGl5gB40XOxO7Whk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;636&quot; height=&quot;495&quot; data-filename=&quot;Firefly.jpg&quot; data-origin-width=&quot;2304&quot; data-origin-height=&quot;1792&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;17&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;17&quot;&gt;(2) 입체적인 팔각 창틀과 노리개 아이콘&lt;/b&gt;&lt;/h4&gt;
&lt;p data-path-to-node=&quot;18&quot; data-ke-size=&quot;size16&quot;&gt;배너의 뼈대가 될 팔각창과 상단에 포인트가 될 노리개(책갈피) 소스입니다.&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;19&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-path-to-node=&quot;19,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;19,0&quot;&gt;[AI Prompt - 창틀]&lt;/b&gt; A detailed 3D render of a traditional Korean octagonal wooden window frame (Pal-gak-chang). Intricate geometric lattice patterns, high-quality dark wood texture, isolated on a plain background.&lt;/p&gt;
&lt;p data-path-to-node=&quot;19,1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;19,1&quot;&gt;[AI Prompt - 노리개]&lt;/b&gt; A flat digital illustration of a traditional Korean Norigae (ornamental tassel). Deep burgundy background, golden silk knots, and elegant hanging tassels. Symmetrical and minimal design.&lt;br /&gt;&lt;br /&gt;팔각창은 ai 생성 후 포토샵에서 수정하여 사용하였습니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zSFEu/dJMcab4VmlA/WJlC17xZInzncoPJJthzZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zSFEu/dJMcab4VmlA/WJlC17xZInzncoPJJthzZ0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;2016&quot; data-origin-height=&quot;2094&quot; data-filename=&quot;Gemini_Generated_Image_nnw58jnnw58jnnw5.png&quot; width=&quot;460&quot; height=&quot;478&quot; style=&quot;width: 49.6768%; margin-right: 10px;&quot; data-widthpercent=&quot;50.26&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zSFEu/dJMcab4VmlA/WJlC17xZInzncoPJJthzZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzSFEu%2FdJMcab4VmlA%2FWJlC17xZInzncoPJJthzZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2016&quot; height=&quot;2094&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eO7awa/dJMcahD3o3I/fNTqafFH54HWtCklIW3tOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eO7awa/dJMcahD3o3I/fNTqafFH54HWtCklIW3tOk/img.png&quot; data-origin-width=&quot;1008&quot; data-origin-height=&quot;1058&quot; data-is-animation=&quot;false&quot; data-filename=&quot;Gemini_Generated_Image_ (7).png&quot; style=&quot;width: 49.1604%;&quot; data-widthpercent=&quot;49.74&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eO7awa/dJMcahD3o3I/fNTqafFH54HWtCklIW3tOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeO7awa%2FdJMcahD3o3I%2FfNTqafFH54HWtCklIW3tOk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1008&quot; height=&quot;1058&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;20&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-path-to-node=&quot;20&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20&quot;&gt;(3) 가을의 정취를 더하는 소품들 (3D Render Style)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-path-to-node=&quot;21&quot; data-ke-size=&quot;size16&quot;&gt;하단부를 풍성하게 채워줄 꽃신, 캠핑 의자, 전통 등불, 가을 열매들을 세트로 생성했습니다.&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;22&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-path-to-node=&quot;22,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,0&quot;&gt;[AI Prompt - 소품 세트]&lt;/b&gt; 3D render of Korean traditional items: 1. Warm fabric flower shoes (Kkotsin) with acorns. 2. A wooden floor lantern with warm light. 3. A modern beige camping chair. 4. Ripe persimmons, pinecones, and cosmos flowers. All items have a soft, cozy 3D clay-like texture, high-quality, white background.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kxfH8/dJMcaiCX8hx/YCem32krJuWgLxkp7KSo20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kxfH8/dJMcaiCX8hx/YCem32krJuWgLxkp7KSo20/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;2240&quot; data-origin-height=&quot;1920&quot; data-filename=&quot;Gemini_Generated_Image_l8f4x8l8f4x8l8f4.png&quot; style=&quot;width: 52.169%; margin-right: 10px;&quot; data-widthpercent=&quot;52.78&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kxfH8/dJMcaiCX8hx/YCem32krJuWgLxkp7KSo20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkxfH8%2FdJMcaiCX8hx%2FYCem32krJuWgLxkp7KSo20%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2240&quot; height=&quot;1920&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDJrHe/dJMcaduQsnC/lFjKrNkf4qAvXX11uGkQJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDJrHe/dJMcaduQsnC/lFjKrNkf4qAvXX11uGkQJk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;2104&quot; data-origin-height=&quot;2016&quot; data-widthpercent=&quot;47.22&quot; data-filename=&quot;Gemini_Generated_Image_lce4vplce4vplce4.png&quot; style=&quot;width: 46.6682%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDJrHe/dJMcaduQsnC/lFjKrNkf4qAvXX11uGkQJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDJrHe%2FdJMcaduQsnC%2FlFjKrNkf4qAvXX11uGkQJk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2104&quot; height=&quot;2016&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;23&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;23&quot;&gt;(4) 종이접기 스타일의 단풍잎&lt;/b&gt;&lt;/h4&gt;
&lt;p data-path-to-node=&quot;24&quot; data-ke-size=&quot;size16&quot;&gt;공중에 흩날리는 효과를 주기 위해 일반적인 낙엽 대신 독특한 '종이접기(Origami)' 스타일의 잎사귀를 제작했습니다.&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;25&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-path-to-node=&quot;25,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;25,0&quot;&gt;[AI Prompt - 낙엽]&lt;/b&gt; Top-down view of three origami paper-folded autumn leaves: a yellow maple leaf, a red maple leaf, and a brown leaf. Sharp edges, realistic paper texture, minimalist style on a white background.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Gemini_Generated_Image_ (1).png&quot; data-origin-width=&quot;1253&quot; data-origin-height=&quot;832&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgrM7Z/dJMcahjOlfZ/FUjdud3YeOOWg4vUdT41GK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgrM7Z/dJMcahjOlfZ/FUjdud3YeOOWg4vUdT41GK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgrM7Z/dJMcahjOlfZ/FUjdud3YeOOWg4vUdT41GK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgrM7Z%2FdJMcahjOlfZ%2FFUjdud3YeOOWg4vUdT41GK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;319&quot; data-filename=&quot;Gemini_Generated_Image_ (1).png&quot; data-origin-width=&quot;1253&quot; data-origin-height=&quot;832&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-path-to-node=&quot;26&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;27&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;27&quot;&gt;3. 주요 작업 포인트: 레이어링과 감성적인 타이포그래피&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;28&quot;&gt;① 공간감 있는 합성&lt;/b&gt; 단순히 평면적인 합성이 아니라, 창틀(Frame) - 한옥 배경(Background) - 전경 오브제(Foreground)의 3단계 레이어 구성을 통해 깊이감을 주었습니다. 특히 하단에 배치한 꽃신과 의자는 창틀 밖으로 살짝 튀어나오게 배치하여 입체감을 극대화했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;29&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;29&quot;&gt;② 가을의 색감 보정&lt;/b&gt; 전체적으로 노을이 지는 듯한 오렌지-골드 톤으로 컬러 밸런스를 맞추었습니다. AI로 생성한 각 소품들의 조명 방향이 일치하도록 리터칭하여 이질감을 줄였습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;30&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;30&quot;&gt;③ 타이포그래피와 배치&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;31&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;31,0,0&quot;&gt;메인 카피:&lt;/b&gt; &quot;나만 알고 싶은 한옥스테이&quot;를 볼드한 폰트로 중앙에 배치해 가독성을 높였습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;31,1,0&quot;&gt;서브 카피:&lt;/b&gt; 상단에 &quot;가을 한자락 머무는 곳&quot;이라는 문구를 배치해 서정적인 분위기를 더했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-path-to-node=&quot;32&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;33&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;33&quot;&gt;마치며&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;34&quot; data-ke-size=&quot;size16&quot;&gt;지난번 여름 배너 작업이 '오브제의 나열'을 통한 화려함에 집중했다면, 이번 가을 배너는 '프레임을 통한 시선의 확장'에 중점을 두었습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;35&quot; data-ke-size=&quot;size16&quot;&gt;특히 이번 작업을 통해 느낀 점은, AI가 단순히 이미지를 만들어주는 도구를 넘어 &lt;b data-index-in-node=&quot;46&quot; data-path-to-node=&quot;35&quot;&gt;디자이너가 상상하는 복잡한 세트장을 구성해주는 '디지털 소품실'&lt;/b&gt; 역할을 할 수 있다는 것이었습니다. 창틀, 가구, 낙엽 하나하나를 제가 원하는 '결'에 맞춰 생성하고 조립하는 과정에서 디자인의 자율성이 훨씬 높아짐을 경험했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;36&quot; data-ke-size=&quot;size16&quot;&gt;전통적인 아름다움을 현대적인 3D 질감으로 재해석해 본 즐거운 작업이었습니다. 작업 과정에 대해 궁금한 점이 있다면 언제든 댓글 남겨주세요!  ✨&lt;/p&gt;
&lt;hr data-path-to-node=&quot;37&quot; data-ke-style=&quot;style1&quot; /&gt;</description>
      <category>디자인</category>
      <author>danmi01</author>
      <guid isPermaLink="true">https://danmi01.tistory.com/23</guid>
      <comments>https://danmi01.tistory.com/23#entry23comment</comments>
      <pubDate>Thu, 16 Apr 2026 01:34:16 +0900</pubDate>
    </item>
    <item>
      <title>PNG 용량 축소 프로그램 큰 파일도 걱정 없이 !</title>
      <link>https://danmi01.tistory.com/22</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ko&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;/&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;/&gt;
&lt;title&gt;이미지 압축 · 변환기&lt;/title&gt;
&lt;style&gt;
  @import url('https://fonts.googleapis.com/css2?family=Pretendard:wght@400;500;600&amp;display=swap');

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --bg: #f7f6f3;
    --surface: #ffffff;
    --surface2: #f0efe9;
    --border: #e2e0d8;
    --border2: #cccac0;
    --text: #1a1917;
    --text2: #6b6960;
    --text3: #9b998f;
    --accent: #1a6b4a;
    --accent-bg: #e8f5ef;
    --accent-light: #d0eddf;
    --danger: #c0392b;
    --warn-bg: #fff8e1;
    --warn-border: #f0c040;
    --radius: 12px;
    --radius-sm: 8px;
  }

  body {
    font-family: 'Pretendard', -apple-system, sans-serif;
    background: var(--bg);
    color: var(--text);
    min-height: 100vh;
    padding: 2rem 1rem 4rem;
  }

  .wrap { max-width: 780px; margin: 0 auto; }

  header { margin-bottom: 2rem; }
  header h1 { font-size: 1.6rem; font-weight: 600; letter-spacing: -0.02em; color: var(--text); }
  header p { font-size: 0.875rem; color: var(--text2); margin-top: 6px; }

  /* 드롭존 */
  .drop-zone {
    border: 2px dashed var(--border2);
    border-radius: var(--radius);
    padding: 3rem 1.5rem;
    text-align: center;
    cursor: pointer;
    transition: all 0.15s;
    background: var(--surface);
    user-select: none;
  }
  .drop-zone:hover, .drop-zone.dragover {
    border-color: var(--accent);
    background: var(--accent-bg);
  }
  .drop-zone .icon { font-size: 2.5rem; margin-bottom: 0.75rem; display: block; }
  .drop-zone strong { font-size: 1rem; font-weight: 600; color: var(--text); }
  .drop-zone span { display: block; font-size: 0.8rem; color: var(--text3); margin-top: 6px; }

  /* 설정 */
  .section-label {
    font-size: 0.7rem; font-weight: 600; color: var(--text3);
    text-transform: uppercase; letter-spacing: 0.08em;
    margin: 1.75rem 0 0.75rem;
  }
  .controls { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  @media (max-width: 540px) { .controls { grid-template-columns: 1fr; } }

  .card {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: var(--radius-sm); padding: 14px 16px;
  }
  .card label { font-size: 0.78rem; color: var(--text2); display: block; margin-bottom: 8px; font-weight: 500; }
  .card select {
    width: 100%; padding: 7px 10px; border: 1px solid var(--border);
    border-radius: 6px; font-size: 0.875rem; background: var(--bg);
    color: var(--text); outline: none; cursor: pointer;
  }
  .card select:focus { border-color: var(--accent); }

  .quality-row { display: flex; align-items: center; gap: 10px; }
  .quality-row input[type=range] { flex: 1; accent-color: var(--accent); }
  .quality-val { font-size: 0.875rem; font-weight: 600; min-width: 40px; text-align: right; color: var(--text); }

  .toggle-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
  .toggle-row:last-child { margin-bottom: 0; }
  .toggle-label { font-size: 0.82rem; color: var(--text2); }
  .toggle {
    width: 38px; height: 21px; border-radius: 11px;
    background: var(--border2); border: none; cursor: pointer;
    position: relative; transition: background 0.2s; flex-shrink: 0;
  }
  .toggle.on { background: var(--accent); }
  .toggle::after {
    content: ''; position: absolute; top: 3px; left: 3px;
    width: 15px; height: 15px; border-radius: 50%; background: #fff;
    transition: left 0.2s; box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  }
  .toggle.on::after { left: 20px; }

  .resize-row { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
  .resize-row input[type=number] {
    width: 80px; padding: 6px 8px; border: 1px solid var(--border);
    border-radius: 6px; font-size: 0.875rem; background: var(--bg);
    color: var(--text); outline: none;
  }
  .resize-row input:focus { border-color: var(--accent); }
  .resize-row span { font-size: 0.78rem; color: var(--text3); }

  /* 파일 목록 */
  .file-list { display: flex; flex-direction: column; gap: 8px; margin-top: 1.5rem; }
  .file-item {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: var(--radius-sm); padding: 10px 14px;
    display: flex; align-items: center; gap: 12px;
  }
  .file-thumb {
    width: 44px; height: 44px; border-radius: 6px; flex-shrink: 0;
    overflow: hidden; background: var(--surface2);
    display: flex; align-items: center; justify-content: center;
  }
  .file-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .file-info { flex: 1; min-width: 0; }
  .file-name { font-size: 0.82rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .file-meta { font-size: 0.75rem; color: var(--text3); margin-top: 2px; }
  .badge {
    font-size: 0.7rem; padding: 3px 9px; border-radius: 20px;
    font-weight: 600; white-space: nowrap;
    background: var(--accent-light); color: var(--accent);
  }
  .badge.red { background: #fde8e6; color: var(--danger); }
  .status { font-size: 0.75rem; font-weight: 600; white-space: nowrap; }
  .status.pending { color: var(--text3); }
  .status.processing { color: #b07d10; }
  .status.done { color: var(--accent); }
  .status.error { color: var(--danger); }
  .remove-btn {
    background: none; border: none; cursor: pointer;
    color: var(--text3); font-size: 1.1rem; padding: 4px 6px;
    border-radius: 4px; line-height: 1; transition: all 0.1s;
  }
  .remove-btn:hover { color: var(--danger); background: #fde8e6; }

  /* 요약 바 */
  .summary {
    margin-top: 1rem; padding: 10px 16px; background: var(--accent-bg);
    border: 1px solid var(--accent-light); border-radius: var(--radius-sm);
    display: flex; gap: 20px; flex-wrap: wrap; font-size: 0.8rem; color: var(--text2);
  }
  .summary strong { color: var(--accent); font-weight: 600; }

  /* 버튼 */
  .action-row { display: flex; gap: 10px; margin-top: 1.5rem; flex-wrap: wrap; }
  .btn {
    padding: 11px 22px; border-radius: var(--radius-sm);
    font-size: 0.875rem; font-weight: 600; cursor: pointer;
    border: none; transition: all 0.15s;
  }
  .btn-primary { background: var(--text); color: #fff; flex: 1; }
  .btn-primary:hover { background: #333; }
  .btn-primary:disabled { background: var(--border2); cursor: default; }
  .btn-outline {
    background: var(--surface); color: var(--text2);
    border: 1px solid var(--border2);
  }
  .btn-outline:hover { background: var(--surface2); }
  .btn-outline:disabled { opacity: 0.4; cursor: default; }
  .btn-green { background: var(--accent); color: #fff; }
  .btn-green:hover { background: #155c3d; }
  .btn-green:disabled { opacity: 0.4; cursor: default; }

  /* 빈 힌트 */
  .empty { text-align: center; padding: 2rem 0; font-size: 0.85rem; color: var(--text3); }

  /* 하단 안내 */
  .hint-box {
    margin-top: 1.5rem; padding: 12px 16px;
    background: var(--warn-bg); border: 1px solid var(--warn-border);
    border-radius: var(--radius-sm); font-size: 0.8rem; color: #7a5c00;
    display: none;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;wrap&quot;&gt;
  &lt;header&gt;
    &lt;h1&gt;  이미지 압축 · 변환기&lt;/h1&gt;
    &lt;p&gt;PNG · JPG · WebP 변환 및 압축 — 모든 처리는 브라우저에서만 이뤄집니다 (서버 업로드 없음)&lt;/p&gt;
  &lt;/header&gt;

  &lt;div class=&quot;drop-zone&quot; id=&quot;dropZone&quot;&gt;
    &lt;span class=&quot;icon&quot;&gt; &lt;/span&gt;
    &lt;strong&gt;클릭하거나 파일을 드래그하세요&lt;/strong&gt;
    &lt;span&gt;PNG, JPG, WebP, GIF, BMP · 여러 파일 동시 처리 가능&lt;/span&gt;
  &lt;/div&gt;

  &lt;p class=&quot;section-label&quot;&gt;변환 설정&lt;/p&gt;
  &lt;div class=&quot;controls&quot;&gt;
    &lt;div class=&quot;card&quot;&gt;
      &lt;label&gt;출력 형식&lt;/label&gt;
      &lt;select id=&quot;formatSelect&quot;&gt;
        &lt;option value=&quot;original&quot;&gt;원본 형식 유지&lt;/option&gt;
        &lt;option value=&quot;image/png&quot;&gt;PNG&lt;/option&gt;
        &lt;option value=&quot;image/jpeg&quot;&gt;JPG&lt;/option&gt;
        &lt;option value=&quot;image/webp&quot;&gt;WebP&lt;/option&gt;
      &lt;/select&gt;
    &lt;/div&gt;
    &lt;div class=&quot;card&quot;&gt;
      &lt;label&gt;압축 품질&lt;/label&gt;
      &lt;div class=&quot;quality-row&quot;&gt;
        &lt;input type=&quot;range&quot; id=&quot;qualitySlider&quot; min=&quot;10&quot; max=&quot;100&quot; value=&quot;82&quot; step=&quot;1&quot;/&gt;
        &lt;span class=&quot;quality-val&quot; id=&quot;qualityVal&quot;&gt;82%&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;card&quot;&gt;
      &lt;label&gt;크기 조절 (너비 기준)&lt;/label&gt;
      &lt;div class=&quot;resize-row&quot;&gt;
        &lt;input type=&quot;number&quot; id=&quot;resizeW&quot; placeholder=&quot;예: 1920&quot; min=&quot;10&quot; max=&quot;9999&quot; disabled/&gt;
        &lt;span&gt;px · 비율 유지&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&quot;toggle-row&quot; style=&quot;margin-bottom:0&quot;&gt;
        &lt;span class=&quot;toggle-label&quot;&gt;크기 조절 활성화&lt;/span&gt;
        &lt;button class=&quot;toggle&quot; id=&quot;resizeToggle&quot; onclick=&quot;toggleResize()&quot;&gt;&lt;/button&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;card&quot;&gt;
      &lt;div class=&quot;toggle-row&quot;&gt;
        &lt;span class=&quot;toggle-label&quot;&gt;메타데이터 제거 (EXIF · GPS 등)&lt;/span&gt;
        &lt;button class=&quot;toggle on&quot; id=&quot;exifToggle&quot; onclick=&quot;this.classList.toggle('on')&quot;&gt;&lt;/button&gt;
      &lt;/div&gt;
      &lt;div class=&quot;toggle-row&quot;&gt;
        &lt;span class=&quot;toggle-label&quot;&gt;그레이스케일 변환&lt;/span&gt;
        &lt;button class=&quot;toggle&quot; id=&quot;grayToggle&quot; onclick=&quot;toggleGray()&quot;&gt;&lt;/button&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;div id=&quot;emptyHint&quot; class=&quot;empty&quot; style=&quot;display:none&quot;&gt;파일을 추가하면 여기에 표시됩니다&lt;/div&gt;
  &lt;div class=&quot;file-list&quot; id=&quot;fileList&quot;&gt;&lt;/div&gt;
  &lt;div class=&quot;summary&quot; id=&quot;summary&quot; style=&quot;display:none&quot;&gt;
    &lt;span&gt;파일 &lt;strong id=&quot;sumFiles&quot;&gt;0&lt;/strong&gt;개&lt;/span&gt;
    &lt;span&gt;원본 &lt;strong id=&quot;sumOrig&quot;&gt;—&lt;/strong&gt;&lt;/span&gt;
    &lt;span&gt;변환 후 &lt;strong id=&quot;sumNew&quot;&gt;—&lt;/strong&gt;&lt;/span&gt;
    &lt;span&gt;절감 &lt;strong id=&quot;sumSaved&quot;&gt;—&lt;/strong&gt;&lt;/span&gt;
  &lt;/div&gt;

  &lt;div class=&quot;action-row&quot;&gt;
    &lt;button class=&quot;btn btn-primary&quot; id=&quot;convertBtn&quot; onclick=&quot;convertAll()&quot; disabled&gt;변환 시작&lt;/button&gt;
    &lt;button class=&quot;btn btn-green&quot; id=&quot;downloadAllBtn&quot; onclick=&quot;downloadAll()&quot; disabled&gt;전체 다운로드&lt;/button&gt;
    &lt;button class=&quot;btn btn-outline&quot; onclick=&quot;clearAll()&quot;&gt;초기화&lt;/button&gt;
  &lt;/div&gt;

  &lt;div class=&quot;hint-box&quot; id=&quot;hintBox&quot;&gt;
    ✅ 변환 완료! &lt;strong&gt;전체 다운로드&lt;/strong&gt; 버튼을 누르면 파일이 순서대로 저장됩니다.&lt;br&gt;
    브라우저 설정에 따라 팝업 차단 알림이 뜰 수 있습니다 — &lt;strong&gt;허용&lt;/strong&gt;을 눌러주세요.
  &lt;/div&gt;
&lt;/div&gt;

&lt;script&gt;
  let files = [];
  let results = {};
  let resizeEnabled = false;
  let grayEnabled = false;

  const dropZone = document.getElementById('dropZone');
  const qualitySlider = document.getElementById('qualitySlider');
  const qualityVal = document.getElementById('qualityVal');

  qualitySlider.addEventListener('input', () =&gt; {
    qualityVal.textContent = qualitySlider.value + '%';
  });

  dropZone.addEventListener('click', () =&gt; {
    const input = document.createElement('input');
    input.type = 'file'; input.accept = 'image/*'; input.multiple = true;
    input.onchange = () =&gt; { if (input.files.length) addFiles([...input.files]); };
    input.click();
  });
  dropZone.addEventListener('dragover', e =&gt; { e.preventDefault(); dropZone.classList.add('dragover'); });
  dropZone.addEventListener('dragleave', e =&gt; { if (!dropZone.contains(e.relatedTarget)) dropZone.classList.remove('dragover'); });
  dropZone.addEventListener('drop', e =&gt; {
    e.preventDefault(); dropZone.classList.remove('dragover');
    addFiles([...e.dataTransfer.files].filter(f =&gt; f.type.startsWith('image/')));
  });

  function toggleResize() {
    resizeEnabled = !resizeEnabled;
    document.getElementById('resizeToggle').classList.toggle('on', resizeEnabled);
    document.getElementById('resizeW').disabled = !resizeEnabled;
  }
  function toggleGray() {
    grayEnabled = !grayEnabled;
    document.getElementById('grayToggle').classList.toggle('on', grayEnabled);
  }

  function addFiles(newFiles) {
    const existing = new Set(files.map(f =&gt; f.name + f.size));
    newFiles.forEach(f =&gt; { if (!existing.has(f.name + f.size)) files.push(f); });
    renderList();
    document.getElementById('convertBtn').disabled = files.length === 0;
    document.getElementById('emptyHint').style.display = files.length ? 'none' : '';
  }

  function fmtSize(bytes) {
    if (bytes &lt; 1024) return bytes + ' B';
    if (bytes &lt; 1024 * 1024) return (bytes / 1024).toFixed(1) + ' KB';
    return (bytes / (1024 * 1024)).toFixed(2) + ' MB';
  }

  function getOutMime(f) {
    const fmt = document.getElementById('formatSelect').value;
    return fmt === 'original' ? (f.type || 'image/png') : fmt;
  }
  function mimeToExt(mime) {
    if (mime === 'image/jpeg') return 'jpg';
    if (mime === 'image/webp') return 'webp';
    return 'png';
  }

  function renderList() {
    const listEl = document.getElementById('fileList');
    listEl.innerHTML = '';
    if (!files.length) return;

    files.forEach((f, i) =&gt; {
      const r = results[f.name + f.size];
      const div = document.createElement('div');
      div.className = 'file-item';

      // 썸네일
      const thumb = document.createElement('div');
      thumb.className = 'file-thumb';
      const img = document.createElement('img');
      const u = URL.createObjectURL(f);
      img.src = u; img.onload = () =&gt; URL.revokeObjectURL(u);
      thumb.appendChild(img);

      // 정보
      const info = document.createElement('div');
      info.className = 'file-info';
      info.innerHTML = `&lt;div class=&quot;file-name&quot;&gt;${f.name}&lt;/div&gt;&lt;div class=&quot;file-meta&quot;&gt;${fmtSize(f.size)} · ${f.type || '알 수 없음'}&lt;/div&gt;`;

      // 배지
      let badge = null;
      if (r &amp;&amp; !r.processing &amp;&amp; !r.error) {
        const pct = Math.round((1 - r.size / f.size) * 100);
        badge = document.createElement('span');
        badge.className = 'badge';
        badge.textContent = `${pct &gt;= 0 ? '-' : '+'}${Math.abs(pct)}% → ${fmtSize(r.size)}`;
      }

      // 상태
      const statusEl = document.createElement('span');
      statusEl.className = 'status';
      if (!r) { statusEl.classList.add('pending'); statusEl.textContent = '대기'; }
      else if (r.processing) { statusEl.classList.add('processing'); statusEl.textContent = '처리 중…'; }
      else if (r.error) { statusEl.classList.add('error'); statusEl.textContent = '오류'; }
      else { statusEl.classList.add('done'); statusEl.textContent = '완료'; }

      // 제거 버튼
      const rmBtn = document.createElement('button');
      rmBtn.className = 'remove-btn'; rmBtn.textContent = '×'; rmBtn.title = '제거';
      rmBtn.onclick = () =&gt; removeFile(i);

      div.appendChild(thumb); div.appendChild(info);
      if (badge) div.appendChild(badge);
      div.appendChild(statusEl); div.appendChild(rmBtn);
      listEl.appendChild(div);
    });

    updateSummary();
  }

  function updateSummary() {
    const sumEl = document.getElementById('summary');
    const done = files.filter(f =&gt; { const r = results[f.name+f.size]; return r &amp;&amp; !r.error &amp;&amp; !r.processing; });
    if (!done.length) { sumEl.style.display = 'none'; return; }
    sumEl.style.display = 'flex';
    const origTotal = done.reduce((s, f) =&gt; s + f.size, 0);
    const newTotal = done.reduce((s, f) =&gt; s + results[f.name+f.size].size, 0);
    const savedPct = Math.round((1 - newTotal / origTotal) * 100);
    document.getElementById('sumFiles').textContent = done.length;
    document.getElementById('sumOrig').textContent = fmtSize(origTotal);
    document.getElementById('sumNew').textContent = fmtSize(newTotal);
    document.getElementById('sumSaved').textContent = `${savedPct &gt;= 0 ? '-' : '+'}${Math.abs(savedPct)}% (${fmtSize(Math.abs(origTotal - newTotal))})`;
  }

  function removeFile(i) {
    const f = files[i];
    delete results[f.name + f.size];
    files.splice(i, 1);
    renderList();
    document.getElementById('convertBtn').disabled = files.length === 0;
    const anyDone = files.some(f =&gt; { const r = results[f.name+f.size]; return r &amp;&amp; !r.error &amp;&amp; !r.processing; });
    document.getElementById('downloadAllBtn').disabled = !anyDone;
    if (!anyDone) document.getElementById('hintBox').style.display = 'none';
  }

  function clearAll() {
    files = []; results = {};
    document.getElementById('fileList').innerHTML = '';
    document.getElementById('summary').style.display = 'none';
    document.getElementById('hintBox').style.display = 'none';
    document.getElementById('convertBtn').disabled = true;
    document.getElementById('downloadAllBtn').disabled = true;
    document.getElementById('emptyHint').style.display = 'none';
  }

  async function processFile(f) {
    return new Promise(resolve =&gt; {
      const reader = new FileReader();
      reader.onload = e =&gt; {
        const image = new Image();
        image.onload = () =&gt; {
          const canvas = document.createElement('canvas');
          let w = image.width, h = image.height;
          if (resizeEnabled) {
            const tw = parseInt(document.getElementById('resizeW').value) || w;
            if (tw &lt; w) { h = Math.round(h * tw / w); w = tw; }
          }
          canvas.width = w; canvas.height = h;
          const ctx = canvas.getContext('2d');
          const outMime = getOutMime(f);
          // JPG는 투명 미지원 → 흰 배경, PNG/WebP는 투명 유지
          if (outMime === 'image/jpeg') { ctx.fillStyle = '#ffffff'; ctx.fillRect(0, 0, w, h); }
          ctx.drawImage(image, 0, 0, w, h);
          if (grayEnabled) {
            const d = ctx.getImageData(0, 0, w, h);
            for (let i = 0; i &lt; d.data.length; i += 4) {
              const g = Math.round(0.299*d.data[i] + 0.587*d.data[i+1] + 0.114*d.data[i+2]);
              d.data[i] = d.data[i+1] = d.data[i+2] = g;
            }
            ctx.putImageData(d, 0, 0);
          }
          const q = parseInt(qualitySlider.value) / 100;
          canvas.toBlob(blob =&gt; {
            if (!blob) { resolve({ error: true }); return; }
            resolve({ blob, size: blob.size, mime: outMime });
          }, outMime, q);
        };
        image.onerror = () =&gt; resolve({ error: true });
        image.src = e.target.result;
      };
      reader.onerror = () =&gt; resolve({ error: true });
      reader.readAsDataURL(f);
    });
  }

  async function convertAll() {
    const btn = document.getElementById('convertBtn');
    btn.disabled = true; btn.textContent = '변환 중…';
    for (const f of files) {
      const key = f.name + f.size;
      results[key] = { processing: true };
      renderList();
      results[key] = await processFile(f);
      renderList();
    }
    btn.disabled = false; btn.textContent = '변환 시작';
    const anyDone = files.some(f =&gt; { const r = results[f.name+f.size]; return r &amp;&amp; !r.error &amp;&amp; !r.processing; });
    document.getElementById('downloadAllBtn').disabled = !anyDone;
    if (anyDone) document.getElementById('hintBox').style.display = 'block';
  }

  async function downloadAll() {
    const fmt = document.getElementById('formatSelect').value;
    for (const f of files) {
      const r = results[f.name + f.size];
      if (!r || r.error || r.processing || !r.blob) continue;
      const outMime = getOutMime(f);
      const ext = mimeToExt(outMime);
      const base = f.name.replace(/\.[^.]+$/, '');
      const url = URL.createObjectURL(r.blob);
      const a = document.createElement('a');
      a.href = url;
      a.download = `${base}_compressed.${ext}`;
      document.body.appendChild(a);
      a.click();
      document.body.removeChild(a);
      setTimeout(() =&gt; URL.revokeObjectURL(url), 2000);
      // 파일 간 딜레이 (브라우저 다운로드 처리 시간)
      await new Promise(res =&gt; setTimeout(res, 300));
    }
  }
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bSdBCU/dJMcagymD9u/rCL2YQBTkS6rdpPKZNuga1/image-converter.html?attach=1&amp;amp;knm=tfile.html&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;image-converter.html&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;19.7 kB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-path-to-node=&quot;3&quot; data-ke-size=&quot;size26&quot;&gt;  제작 배경: &quot;왜 만들었나요?&quot;&lt;/h2&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;웹 서핑을 하거나 블로그에 사진을 올릴 때, PNG 파일의 무지막지한 용량 때문에 로딩 속도가 느려졌던 경험 다들 있으시죠?&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;시중에 있는 압축 사이트들은 '한 번에 20장 제한'이 걸려있거나, 소중한 내 사진이 '서버에 업로드'된다는 찝찝함이 있었습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;그래서 &lt;b data-index-in-node=&quot;85&quot; data-path-to-node=&quot;5&quot;&gt;&quot;내 브라우저 안에서만 안전하고 빠르게, 그리고 무제한으로&quot;&lt;/b&gt; 쓸 수 있는 도구가 필요해 직접 만들게 되었습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;6&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,0,0&quot;&gt;포인트:&lt;/b&gt; &quot;서버 업로드 NO! 개인정보 걱정 없이 브라우저에서 끝내는 이미지 다이어트&quot;&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,1,0&quot;&gt;특징:&lt;/b&gt; 복잡한 설치 없이 HTML 파일 하나로 압축, 크기 조절, 형식 변환까지 한 번에 해결합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-path-to-node=&quot;7&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-path-to-node=&quot;8&quot; data-ke-size=&quot;size26&quot;&gt;✨ 주요 기능 소개&lt;/h2&gt;
&lt;h3 data-path-to-node=&quot;9&quot; data-ke-size=&quot;size23&quot;&gt;① 100% 클라이언트 사이드 처리 (Privacy First)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;10&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 이미지는 절대 외부 서버로 전송되지 않습니다.&lt;/li&gt;
&lt;li&gt;모든 압축과 변환 과정이 여러분의 PC 브라우저 자원을 활용해 이루어지므로 보안이 완벽합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-path-to-node=&quot;11&quot; data-ke-size=&quot;size23&quot;&gt;② 드래그 앤 드롭 멀티 컨버팅&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;12&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여러 장의 사진을 한꺼번에 마우스로 끌어다 놓으세요.&lt;/li&gt;
&lt;li&gt;PNG, JPG, WebP는 물론 BMP, GIF까지 지원하며, 클릭 한 번으로 모든 파일을 동시에 변환할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-path-to-node=&quot;13&quot; data-ke-size=&quot;size23&quot;&gt;③ 스마트 압축 설정 (Quality Control)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;14&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;14,0,0&quot;&gt;품질 조절:&lt;/b&gt; 10%부터 100%까지 슬라이더로 직관적으로 용량을 조절합니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;14,1,0&quot;&gt;크기 조절:&lt;/b&gt; 고해상도 이미지를 웹용으로 빠르게 리사이징할 수 있습니다 (너비 기준 비율 유지).&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;14,2,0&quot;&gt;부가 기능:&lt;/b&gt; 개인정보 보호를 위한 &lt;b data-index-in-node=&quot;19&quot; data-path-to-node=&quot;14,2,0&quot;&gt;EXIF 메타데이터 제거&lt;/b&gt; 기능과 감성적인 &lt;b data-index-in-node=&quot;42&quot; data-path-to-node=&quot;14,2,0&quot;&gt;그레이스케일(흑백) 변환&lt;/b&gt; 모드를 지원합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-path-to-node=&quot;15&quot; data-ke-size=&quot;size23&quot;&gt;④ 한눈에 보는 절감 효과&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;16&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;압축 전후의 용량을 실시간으로 비교해 드립니다.&lt;/li&gt;
&lt;li&gt;몇 %의 용량이 줄어들었는지, 총 얼마만큼의 하드 용량을 아꼈는지 요약 바를 통해 직관적으로 확인하세요.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-path-to-node=&quot;17&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-path-to-node=&quot;18&quot; data-ke-size=&quot;size26&quot;&gt;  사용 방법&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-path-to-node=&quot;19&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;중앙의 드롭존에 파일을 드래그하거나 클릭하여 파일을 추가합니다.&lt;/li&gt;
&lt;li&gt;오른쪽 설정창에서 원하는 포맷(JPG/WebP/PNG)과 &lt;b data-index-in-node=&quot;36&quot; data-path-to-node=&quot;19,1,0&quot;&gt;압축 품질&lt;/b&gt;을 정합니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;19,2,0&quot;&gt;[변환 시작]&lt;/b&gt; 버튼을 누르면 순식간에 처리가 완료됩니다.&lt;/li&gt;
&lt;li&gt;[전체 다운로드]를 눌러 변환된 이미지들을 저장하세요!&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-path-to-node=&quot;20&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-path-to-node=&quot;21&quot; data-ke-size=&quot;size26&quot;&gt;맺음말&lt;/h2&gt;
&lt;p data-path-to-node=&quot;22&quot; data-ke-size=&quot;size16&quot;&gt;단순히 용량을 줄이는 것을 넘어, 웹사이트 로딩 속도를 개선하고 데이터 사용량을 아껴주는 효율적인 도구가 되었으면 좋겠습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;23&quot; data-ke-size=&quot;size16&quot;&gt;이 프로그램은 HTML 파일 하나로 구성되어 있어, 소스 코드를 복사해 개인 블로그 페이지에 적용하거나 로컬에 저장해두고 언제든 꺼내 쓰실 수 있습니다. 저처럼 대량의 이미지를 자주 다루는 분들께 작은 도움이 되길 바랍니다!&lt;/p&gt;</description>
      <category>작업</category>
      <author>danmi01</author>
      <guid isPermaLink="true">https://danmi01.tistory.com/22</guid>
      <comments>https://danmi01.tistory.com/22#entry22comment</comments>
      <pubDate>Tue, 14 Apr 2026 23:35:53 +0900</pubDate>
    </item>
    <item>
      <title>[Banner Design] &amp;lt;PICK! YOUR SUMMER&amp;gt; 나만의 여름을 담은 키링 프로모션 배너</title>
      <link>https://danmi01.tistory.com/21</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요, 디자인 공부를 하고 있는 단미입니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;지난번 몽환적인 밤의 봄 배너에 이어, 이번에는 다가오는 뜨거운 여름 시즌을 위한 'PICK! YOUR SUMMER' 프로모션 배너 디자인을 작업했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;이번 작업 역시 특정한 브랜드나 제품의 제약 없이, 제가 상상한 '여름의 상징물'들을 하나의 매력적인 오브제로 묶어내는 실험적인 디자인입니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;특히 고화질 소스를 확보하기 위해 생성형 AI를 적극적으로 활용하여 핵심 피사체와 배경을 직접 제작해 보았습니다.&lt;/p&gt;
&lt;hr data-path-to-node=&quot;7&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;8&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8&quot;&gt;1. 디자인 모티브 및 기획: &quot;나만의 여름을 PICK하라&quot;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;이번 프로젝트의 핵심 컨셉은 '수집(Collect)'과 '선택(Pick)'입니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;여름 하면 떠오르는 다양한 기억들과 상징들(파도, 모래, 과일, 귀여운 캐릭터)을 하나의 '키링(Keyring)'에 모아둔 모습을 상상했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&quot;PICK! YOUR SUMMER&quot;라는 메인 카피처럼,&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;고객들이 이 배너를 보고 자신만의 특별한 여름을 기대하며 프로모션에 참여하고 싶은 마음이 들도록 디자인했습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;11&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;11,0,0&quot;&gt;사이즈 설정:&lt;/b&gt; 모바일과 웹에서 동시에 활용하기 좋은 세로형 배너 규격(약 1080x1350 비율)로 작업하여, 디테일한 소스들이 깨지지 않도록 고화질을 확보했습니다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;여름 프로모션 배너 수정 최종.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dm4uS1/dJMcahjNU1Z/YFfUaAgBymLKMpQ7kF7dM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dm4uS1/dJMcahjNU1Z/YFfUaAgBymLKMpQ7kF7dM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dm4uS1/dJMcahjNU1Z/YFfUaAgBymLKMpQ7kF7dM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdm4uS1%2FdJMcahjNU1Z%2FYFfUaAgBymLKMpQ7kF7dM1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;704&quot; height=&quot;880&quot; data-filename=&quot;여름 프로모션 배너 수정 최종.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-path-to-node=&quot;12&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;13&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;13&quot;&gt;2. 핵심 소스 제작: AI로 탄생시킨 '커스텀 키링'과 해변 배경'&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;14&quot; data-ke-size=&quot;size16&quot;&gt;이번 작업의 가장 중요한 두 가지 핵심 소스는 생성형 AI를 활용해 만들었습니다. 제가 상상한 이미지를 정확하게 얻기 위해 구체적인 프롬프트를 사용했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;15&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;15&quot;&gt;(1) 나만의 여름을 담은 커스텀 키링 (with. Gemini)&lt;/b&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;단순히 기성품 키링을 사용하는 것이 아니라, 이번 프로모션을 위해 특별히 제작된 것 같은 '커스텀 키링'을 원했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;여름 상징물들이 골드 링에 매달려 있는 형태입니다.&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;17&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-path-to-node=&quot;17,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;17,0&quot;&gt;[AI 프롬프트 - 여름 키링 오브제]&lt;/b&gt; A detailed, close-up, high-definition photorealistic 3D render of a custom summer-themed key ring. A central polished gold carabiner ring holds a set of dangling charms. The charms are: 1. A detailed 3D white polar bear wearing round sunglasses and an orange donut lifebuoy, with a horizontal striped shirt. 2. A large, matte peach-colored tag with &quot;70% OFF&quot; in raised white text. 3. A blue surfboard with &quot;- % SALE -&quot; written in vertical text. 4. A small, vertical orange tag with &quot;SUMMER&quot; text. 5. A set of tropical elements like palm leaves, small mangoes, and cherries clustered at the top near the ring. The charms are connected by small chains and rings. The object is floating slightly against a clean, plain background to be isolated, with soft, directional beach sunlight from the left.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;18&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,0,0&quot;&gt;분석:&lt;/b&gt; 골드 링, 각도, 선글라스를 낀 북극곰, 튜브, 70% OFF 태그, 파란 서핑보드 세일 태그, 오렌지 여름 태그, 열대 과일 및 잎. 이 구체적인 묘사를 통해 원하는 구도와 질감을 정확히 얻어냈습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Firefly.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1jAsI/dJMcaakDpdq/qjc1KjtkEYgSOr1kjsRwBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1jAsI/dJMcaakDpdq/qjc1KjtkEYgSOr1kjsRwBk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1jAsI/dJMcaakDpdq/qjc1KjtkEYgSOr1kjsRwBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1jAsI%2FdJMcaakDpdq%2Fqjc1KjtkEYgSOr1kjsRwBk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;327&quot; height=&quot;327&quot; data-filename=&quot;Firefly.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-path-to-node=&quot;19&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;19&quot;&gt;(2) 투명한 바다와 모래사장 배경&lt;/b&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;키링이 배치될 무대이자 전체적인 분위기를 결정하는 배경입니다. 투명하고 맑은 에메랄드빛 바다와 부드러운 모래사장을 원했습니다.&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;21&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-path-to-node=&quot;21,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;21,0&quot;&gt;[AI 프롬프트 - 에메랄드 비치 배경]&lt;/b&gt; A detailed, high-definition photorealistic landscape of a pristine, idyllic summer beach scene. Emerald-green and turquoise ocean water gently laps onto soft, golden sand in the foreground. Several realistic seashells and a sandcastle built on the sand. The water is crystal clear with visible ripples. In the mid-ground, a chain of lush green tropical islands under a clear blue sky with some fluffy white clouds. Scattered iridescent water bubbles float in the air. Soft, warm sunlight from the top right.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;22&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,0,0&quot;&gt;분석:&lt;/b&gt; 에메랄드/터콰이즈 바다, 부드러운 금빛 모래, 사실적인 조개껍데기, 모래성, 열대 섬, 맑은 하늘, 비눗방울. 이 프롬프트를 통해 배너의 전체 톤을 잡았습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Gemini_Generated_Image_ie8k9wie8k9wie8k.png&quot; data-origin-width=&quot;1842&quot; data-origin-height=&quot;2304&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dInlQt/dJMcabjzHLP/N3YqQOuZVTBO3yXYKyzpf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dInlQt/dJMcabjzHLP/N3YqQOuZVTBO3yXYKyzpf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dInlQt/dJMcabjzHLP/N3YqQOuZVTBO3yXYKyzpf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdInlQt%2FdJMcabjzHLP%2FN3YqQOuZVTBO3yXYKyzpf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;446&quot; height=&quot;558&quot; data-filename=&quot;Gemini_Generated_Image_ie8k9wie8k9wie8k.png&quot; data-origin-width=&quot;1842&quot; data-origin-height=&quot;2304&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;24&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24&quot;&gt;3. 주요 작업 포인트: 합성, 타이포그래피, 그리고 디테일&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;25&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;25&quot;&gt;(1) 배경 합성 및 디테일&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;26&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;26,0,0&quot;&gt;배경 구성:&lt;/b&gt; AI로 생성한 비치 배경을 배너 크기에 맞게 배치했습니다. 하단의 모래사장과 상단의 하늘이 조화롭게 이어지도록 했으며, 배경에 있는 물방울 소스를 더 강조하여 청량감을 주었습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;26,1,0&quot;&gt;오브제 배치:&lt;/b&gt; 하단 모래사장에 AI 생성 이미지에 있던 모래성과 조개껍데기를 더 잘 보이게 재배치하여 풍성함을 더했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;27&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;27&quot;&gt;(2) 키링 배치 및 이펙트&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;28&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;28,0,0&quot;&gt;합성:&lt;/b&gt; 생성된 고화질 키링 이미지를 배경의 중앙 상단에 배치했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;29&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;29&quot;&gt;(3) 타이포그래피 및 레이아웃&lt;/b&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;30&quot; data-ke-size=&quot;size16&quot;&gt;최종 배너 디자인은 시선의 흐름을 고려한 중앙 집중형 구조를 채택했습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;31&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;31,0,0&quot;&gt;메인 타이틀:&lt;/b&gt; 상단 중앙에 &quot;PICK!&quot;을 크고 흰색으로 배치하여 시선을 압도하고, 그 아래 &quot;YOUR SUMMER&quot;를 더 크고 볼드한 노란색으로 배치하여 강력한 메시지를 전달했습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;31,1,0&quot;&gt;해시태그:&lt;/b&gt; 타이틀 아래에 &quot;#여름세일 #최대70% #한정수량&quot; 해시태그를 작게 배치하여 구체적인 정보를 제공했습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;31,2,0&quot;&gt;정보 QR 코드:&lt;/b&gt; 왼쪽 상단에 QR 코드를 배치하여 추가 정보로의 접근을 유도했습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;31,3,0&quot;&gt;하단 카피:&lt;/b&gt; 모래사장 위로 &quot;여름 휴가를 완벽하게 만들어줄 특별한 혜택!&quot;이라는 서브 카피를 배치하여 프로모션의 목적을 명확히 했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-path-to-node=&quot;32&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;33&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;33&quot;&gt;마치며&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;34&quot; data-ke-size=&quot;size16&quot;&gt;이번 작업은 여름이라는 주제를 시각적으로 매력적인 '키링'이라는 하나의 오브제로 압축하여 표현하는 시도였습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;34&quot; data-ke-size=&quot;size16&quot;&gt;생성형 AI를 활용해 제가 상상한 디테일한 키링 소스와 배경을 직접 만들고 배너로 구현하는 과정이 매우 즐거웠습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;35&quot; data-ke-size=&quot;size16&quot;&gt;원하는 이미지를 AI에게 정확히 요청하는 프롬프트 작성 능력과, 생성된 소스를 최종 결과물에 조화롭게 녹여내는 디자인 감각이 중요하다는 것을 다시 한번 느꼈습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;35&quot; data-ke-size=&quot;size16&quot;&gt;이번 배너가 포트폴리오에서 여름의 청량함과 다양한 소스를 다루는 역량을 보여주는 좋은 결과물이 될 것이라 생각합니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;36&quot; data-ke-size=&quot;size16&quot;&gt;앞으로도 다양한 시도를 계속하겠습니다. 감사합니다.&lt;/p&gt;</description>
      <category>디자인</category>
      <author>danmi01</author>
      <guid isPermaLink="true">https://danmi01.tistory.com/21</guid>
      <comments>https://danmi01.tistory.com/21#entry21comment</comments>
      <pubDate>Tue, 14 Apr 2026 23:16:49 +0900</pubDate>
    </item>
    <item>
      <title>[Banner Design] &amp;lt;밤 사이 피어난 기분 좋은 꿈&amp;gt; 몽환적인 봄 프로모션 배너</title>
      <link>https://danmi01.tistory.com/20</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요, 디자인 공부를 하고 있는 단미입니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;1&quot; data-ke-size=&quot;size16&quot;&gt;이번 작업은 다가오는 봄 시즌을 위한 프로모션 배너 디자인입니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;1&quot; data-ke-size=&quot;size16&quot;&gt;특정한 원작이 없는 저의 순수 창작 디자인으로, 고화질 소스를 확보하고 생성형 AI를 활용해 독특한 소스를 만드는 실험을 계속했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;1&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;봄 프로모션 배너 수정 최종_.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d4oTZa/dJMcagLWQ3K/0NTiv9VNdl1WpYMZJw9o8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d4oTZa/dJMcagLWQ3K/0NTiv9VNdl1WpYMZJw9o8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d4oTZa/dJMcagLWQ3K/0NTiv9VNdl1WpYMZJw9o8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd4oTZa%2FdJMcagLWQ3K%2F0NTiv9VNdl1WpYMZJw9o8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;761&quot; height=&quot;951&quot; data-filename=&quot;봄 프로모션 배너 수정 최종_.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;2&quot; data-ke-size=&quot;size23&quot;&gt;1. 디자인 모티브 및 기획: &quot;밤의 봄, 꿈의 선물&quot;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;3&quot; data-ke-size=&quot;size16&quot;&gt;이번 프로젝트는 봄의 싱그러움에 &quot;인형뽑기&quot;라는 재미있는 요소를 결합했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;3&quot; data-ke-size=&quot;size16&quot;&gt;몽환적인 분위기를 연출하기 위해 단순히 밝은 봄날이 아닌, 벚꽃이 만개한 &quot;밤&quot;을 테마로 선택했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;구체적인 제품이나 서비스는 정하지 않았지만, &quot;당신의 잠든 행운을 깨워보세요&quot;라는 카피처럼,&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;봄의 시작과 함께 찾아올 행복이나 선물을 상상하며 디자인했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;이는 어떤 프로모션에도 적용할 수 있는 보편적인 메시지입니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5&quot;&gt;사이즈 설정:&lt;/b&gt; 웹 배너 규격에 맞춰 고화질로 작업하여, 다양한 플랫폼에서도 깨지지 않는 디테일을 확보하는 데 중점을 두었습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;(이미지 비율은 약 1080x1350의 비율로 작업했습니다.)&lt;/p&gt;
&lt;hr data-path-to-node=&quot;6&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;7&quot; data-ke-size=&quot;size23&quot;&gt;2. 핵심 소스 제작 : AI로 탄생시킨 몽환적인 피사체&lt;/h3&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;이번 작업 역시 가장 중요한 두 가지 소스를 AI로 생성했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;제가 상상한 몽환적인 분위기에 딱 맞는 소스를 직접 만들어 냈습니다.&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;9&quot; data-ke-size=&quot;size20&quot;&gt;(1) 인형뽑기 속 빛나는 구슬 (with.Gemini-nano banana2)&lt;/h4&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;단순히 인형을 뽑는 것이 아니라, &quot;꿈의 구슬&quot;을 뽑는 듯한 느낌을 원했습니다.&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;11&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-path-to-node=&quot;11,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;11,0&quot;&gt;[AI 프롬프트 - 구슬 크레인]&lt;/b&gt; An isolated, hyper-realistic photo of a sleek, dark-metallic claw crane mechanism from above, carefully grasping a glowing, iridescent crystalline orb containing a silver crescent moon and stars. The orb is bound by a thin, looped gold cord with tassels, glowing with internal purple and blue light. The background is a clean, dark gradient. Sharp focus, detailed textures.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-path-to-node=&quot;12&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12&quot;&gt;분석:&lt;/b&gt; 메탈 크레인, 그립, 줄, 매듭, 테슬, 초승달과 별이 있는 빛나는 구슬, 어두운 배경. 이 프롬프트를 사용하여 원하는 구도와 질감을 정확히 얻어냈습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Gemini_Generated_Image_ (2).png&quot; data-origin-width=&quot;808&quot; data-origin-height=&quot;1312&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmKEar/dJMcahqwPkV/bkIGFs2FZcK7zt54GGJjj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmKEar/dJMcahqwPkV/bkIGFs2FZcK7zt54GGJjj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmKEar/dJMcahqwPkV/bkIGFs2FZcK7zt54GGJjj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmKEar%2FdJMcahqwPkV%2FbkIGFs2FZcK7zt54GGJjj0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;324&quot; height=&quot;526&quot; data-filename=&quot;Gemini_Generated_Image_ (2).png&quot; data-origin-width=&quot;808&quot; data-origin-height=&quot;1312&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;13&quot; data-ke-size=&quot;size20&quot;&gt;(2) 벚꽃 가지 네온 라인 드로잉&lt;/h4&gt;
&lt;p data-path-to-node=&quot;14&quot; data-ke-size=&quot;size16&quot;&gt;배경에 자연스럽게 녹아들면서도 몽환적인 분위기를 낼 수 있는, 네온사인으로 활용하기 좋은 라인 드로잉이 필요했습니다.&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;15&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-path-to-node=&quot;15,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;15,0&quot;&gt;[AI 프롬프트 - 벚꽃 라인 드로잉]&lt;/b&gt; A precise, clean, white outline line drawing of a delicate cherry blossom branch with multiple flowers, leaves, and a seed pod, against a solid black background. All lines are connected. Minimalistic design.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16&quot;&gt;분석:&lt;/b&gt; 흰색 윤곽선, 벚꽃 가지, 꽃, 잎, 씨앗 꼬투리, 검은색 배경. 이 프롬프트를 통해 깔끔한 라인 아트를 얻을 수 있었습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;가지.png&quot; data-origin-width=&quot;2346&quot; data-origin-height=&quot;1824&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CFS3P/dJMcacbFI7Z/sa64jv1NSFMZGuO4Ek21Wk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CFS3P/dJMcacbFI7Z/sa64jv1NSFMZGuO4Ek21Wk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CFS3P/dJMcacbFI7Z/sa64jv1NSFMZGuO4Ek21Wk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCFS3P%2FdJMcacbFI7Z%2Fsa64jv1NSFMZGuO4Ek21Wk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;463&quot; height=&quot;360&quot; data-filename=&quot;가지.png&quot; data-origin-width=&quot;2346&quot; data-origin-height=&quot;1824&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-path-to-node=&quot;17&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;18&quot; data-ke-size=&quot;size23&quot;&gt;3. 주요 작업 포인트: 레이아웃과 이펙트&lt;/h3&gt;
&lt;h4 data-path-to-node=&quot;19&quot; data-ke-size=&quot;size20&quot;&gt;(1) 레이아웃 구성&lt;/h4&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;최종 배너 디자인은 중앙 집중형 구조를 채택했습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;21&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;21,0,0&quot;&gt;합성:&lt;/b&gt; 구슬 크레인을 중앙 상단에 배치하여 시선의 초점을 잡고, 벚꽃 가지를 배경의 양옆에 네온 효과를 주어 배치했습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;21,1,0&quot;&gt;배경:&lt;/b&gt; 몽환적인 느낌을 위해 그라데이션이 있는 어두운 퍼플/블루 밤하늘 배경을 만들고, 흩날리는 벚꽃잎을 추가했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;22&quot; data-ke-size=&quot;size20&quot;&gt;(2) 타이포그래피와 네온 이펙트&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;23&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;23,0,0&quot;&gt;네온 효과:&lt;/b&gt; 생성된 벚꽃 가지를 어두운 배경에 맞게 색상을 연보라색/파란색으로 바꾸고, 네온 발광 효과를 주었습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;23,1,0&quot;&gt;타이틀 로고:&lt;/b&gt; 타이틀 &quot;밤 사이 피어난 기분 좋은 꿈&quot;을 이 그라데이션과 어울리는 색상으로, 그리운 연이나 둥둥체를 활용해 중앙에 배치했습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;23,2,0&quot;&gt;날짜:&lt;/b&gt; 날짜 &quot;03.01 - 03.31&quot;을 상단 중앙에 작게 배치하여 정보를 제공합니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;23,3,0&quot;&gt;카피:&lt;/b&gt; &quot;당신의 잠든 행운을 깨워보세요&quot;와 &quot;행운 확인하기 &amp;gt;&quot;라는 보조 카피를 하단에 배치하여 행동을 유도합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;24&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;25&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;25,0,0&quot;&gt;중앙 집중형 구도:&lt;/b&gt; 인형뽑기 기계와 빛나는 구슬이 중앙에 배치되어 압도감을 줍니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;25,1,0&quot;&gt;모션 블러:&lt;/b&gt; 네온 효과의 발광을 부드럽게 처리하여 몽환적인 움직임을 시각화했습니다. 또한 일부 벚꽃잎에 블러 효과를 더해 텍스트로 시선을 모았습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;25,2,0&quot;&gt;네온 패턴:&lt;/b&gt; 네온 효과가 있는 벚꽃 가지를 사용하여 현대적이고 세련된 느낌을 더했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-path-to-node=&quot;26&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;27&quot; data-ke-size=&quot;size23&quot;&gt;마치며&lt;/h3&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;이번 작업은 순수 창작으로, AI를 활용해 제가 상상한 몽환적인 소스(빛나는 구슬, 네온 벚꽃)를 직접 만들고 배너로 구현해 본 재미있는 과정이었습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;29&quot; data-ke-size=&quot;size16&quot;&gt;구체적인 제품이 없어도 디자인 컨셉과 메시지만으로 매력적인 프로모션 배너를 만들 수 있음을 배웠습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;29&quot; data-ke-size=&quot;size16&quot;&gt;내가 원하는 이미지를 AI에게 정확히 요청하는 프롬프트 작성 능력과, 이를 최종 결과물에 조화롭게 녹여내는 디자인 감각이 중요하다는 것을 다시 한번 느꼈습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;30&quot; data-ke-size=&quot;size16&quot;&gt;앞으로도 다양한 시도를 계속하겠습니다. 감사합니다.&lt;/p&gt;</description>
      <category>디자인</category>
      <author>danmi01</author>
      <guid isPermaLink="true">https://danmi01.tistory.com/20</guid>
      <comments>https://danmi01.tistory.com/20#entry20comment</comments>
      <pubDate>Tue, 14 Apr 2026 00:48:49 +0900</pubDate>
    </item>
    <item>
      <title>[Poster Design] &amp;lt;박보검의 감사한 밤&amp;gt; 라디오 배너 제작기</title>
      <link>https://danmi01.tistory.com/19</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요, 디자인 공부를 하고 있는 &lt;b data-index-in-node=&quot;21&quot; data-path-to-node=&quot;4&quot;&gt;단미&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난 &amp;lt;가비지타임&amp;gt; 영화 포스터 실사화 작업에 이어, 이번에는 감성을 담은 &lt;b data-index-in-node=&quot;84&quot; data-path-to-node=&quot;4&quot;&gt;라디오 프로그램 티저 배너&lt;/b&gt; 디자인 작업을 진행해 보았습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;이번 작업의 주인공은 배우 박보검이며, 그가 진행하는 가상의 라디오 프로그램 &amp;lt;감사한 밤&amp;gt;을 모티브로 했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;'누구일까요?'라는 궁금증을 유발하는 레이아웃부터 정보 전달력을 높인 최종안까지, 세 단계의 수정 과정을 거쳐 완성도를 높였습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;박보검 라디오3.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dAeatI/dJMcadhkxpy/2z8Y0viYKgcgpKQxGPPySk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dAeatI/dJMcadhkxpy/2z8Y0viYKgcgpKQxGPPySk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dAeatI/dJMcadhkxpy/2z8Y0viYKgcgpKQxGPPySk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdAeatI%2FdJMcadhkxpy%2F2z8Y0viYKgcgpKQxGPPySk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;540&quot; height=&quot;675&quot; data-filename=&quot;박보검 라디오3.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;6&quot; data-ke-size=&quot;size23&quot;&gt;1. 디자인 모티브 및 기획: 궁금증을 자극하는 '밤의 주파수'&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;7&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,0,0&quot;&gt;기획 의도:&lt;/b&gt; 라디오 첫 방송 전, DJ가 누구인지 맞혀보게 하는 이벤트성 티저 배너를 목표로 삼았습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,1,0&quot;&gt;콘셉트 키워드:&lt;/b&gt; #감사 #미스터리 #밤하늘 #6.16Mhz (배우의 생일을 활용한 주파수 설정).&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,2,0&quot;&gt;컬러 스킴:&lt;/b&gt; 깊은 밤을 상징하는 &lt;b data-index-in-node=&quot;18&quot; data-path-to-node=&quot;7,2,0&quot;&gt;Midnight Blue&lt;/b&gt;를 메인으로, 따뜻한 달빛과 별빛을 상징하는 &lt;b data-index-in-node=&quot;56&quot; data-path-to-node=&quot;7,2,0&quot;&gt;Yellow&lt;/b&gt;를 포인트 컬러로 사용해 시인성을 높였습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-path-to-node=&quot;8&quot; data-ke-size=&quot;size23&quot;&gt;2. 단계별 디자인 진화: 실루엣에서 정보의 완성까지&lt;/h3&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;이번 작업은 한 번에 끝내지 않고, 사용자(팬)의 시선 흐름에 따라 세 번의 수정을 거쳤습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;10&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,0,0&quot;&gt;Step 1 (초안):&lt;/b&gt; 가장 기본적인 실루엣과 텍스트 배치에 집중했습니다. '보건복지부(팬클럽 명칭)' 화살표를 통해 힌트를 주는 위트를 더했습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,1,0&quot;&gt;Step 2 (수정):&lt;/b&gt; '나를 맞춰봐!'라는 말풍선 오브제를 추가하여 인터랙티브한 느낌을 살리고, 자칫 심심할 수 있는 우측 하단 여백을 보완했습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,2,0&quot;&gt;Step 3 (최종안):&lt;/b&gt; * &lt;b data-index-in-node=&quot;16&quot; data-path-to-node=&quot;10,2,0&quot;&gt;디테일 강화:&lt;/b&gt; 배경에 별무리의 밀도를 조절하고 반짝이는 이펙트를 추가해 밤하늘의 깊이감을 더했습니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;10,2,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,2,1,0,0&quot;&gt;타이포그래피 완성:&lt;/b&gt; '감사한 밤'의 '밤' 자에 달 아이콘을 결합하여 로고로서의 상징성을 부여했습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,2,1,1,0&quot;&gt;정보성 추가:&lt;/b&gt; 첫 방송 날짜인 '2026년 4월 13일(월) 밤 10시 40분'을 명시하여 실제 홍보 배너로서의 기능을 완성했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IdbBE/dJMcacJwqUO/0s9GW6xebF8wK7gFOguFe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IdbBE/dJMcacJwqUO/0s9GW6xebF8wK7gFOguFe1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot; data-filename=&quot;박보검 라디오.png&quot; style=&quot;width: 32.5581%; margin-right: 10px;&quot; data-widthpercent=&quot;33.33&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IdbBE/dJMcacJwqUO/0s9GW6xebF8wK7gFOguFe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIdbBE%2FdJMcacJwqUO%2F0s9GW6xebF8wK7gFOguFe1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1350&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJCSHj/dJMcai3XiwZ/gcNxpQPYeXlVQdkfb6oG11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJCSHj/dJMcai3XiwZ/gcNxpQPYeXlVQdkfb6oG11/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot; data-filename=&quot;박보검 라디오2.png&quot; style=&quot;width: 32.5581%; margin-right: 10px;&quot; data-widthpercent=&quot;33.33&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJCSHj/dJMcai3XiwZ/gcNxpQPYeXlVQdkfb6oG11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJCSHj%2FdJMcai3XiwZ%2FgcNxpQPYeXlVQdkfb6oG11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1350&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Zwozh/dJMcaadRgiV/Ck3XIa7TAogp8mWDyvZS41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Zwozh/dJMcaadRgiV/Ck3XIa7TAogp8mWDyvZS41/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot; data-filename=&quot;박보검 라디오3.png&quot; style=&quot;width: 32.5581%;&quot; data-widthpercent=&quot;33.34&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Zwozh/dJMcaadRgiV/Ck3XIa7TAogp8mWDyvZS41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZwozh%2FdJMcaadRgiV%2FCk3XIa7TAogp8mWDyvZS41%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1350&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;수정 1 -&amp;gt; 2 -&amp;gt; 3&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;11&quot; data-ke-size=&quot;size23&quot;&gt;3. 주요 작업 포인트: 감성과 가독성의 조화&lt;/h3&gt;
&lt;p data-path-to-node=&quot;12&quot; data-ke-size=&quot;size16&quot;&gt;(1) 실루엣을 활용한 스토리텔링 - 인물의 디테일한 이목구비 대신 독보적인 피지컬 실루엣만을 노출하여 '누구나 알 수 있지만 확인하고 싶은' 팬심의 심리를 디자인에 녹였습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;13&quot; data-ke-size=&quot;size16&quot;&gt;(2) 타이포그래피의 변주 - 단순한 폰트 나열이 아니라, '감사한 밤'이라는 제목에 맞춰 부드러운 고딕 계열을 사용하고 포인트 아이콘을 삽입했습니다. 특히 노란색 포인트 컬러를 적절히 배치해 시선이 '제목 -&amp;gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;주파수 -&amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;일시' 순으로 자연스럽게 흐르도록 설계했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;14&quot; data-ke-size=&quot;size16&quot;&gt;(3) 밤하늘의 질감과 조명 - 단색 배경이 아닌 은은한 그라데이션과 텍스처를 활용해 눈이 편안하면서도 고급스러운 분위기를 연출했습니다. 캐릭터 실루엣 외곽에 얇은 라인을 추가해 배경과 인물을 확실히 분리했습니다.&lt;/p&gt;
&lt;hr data-path-to-node=&quot;15&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;16&quot; data-ke-size=&quot;size23&quot;&gt;마치며&lt;/h3&gt;
&lt;p data-path-to-node=&quot;17&quot; data-ke-size=&quot;size16&quot;&gt;이번 &amp;lt;박보검의 감사한 밤&amp;gt; 배너 작업은 '정보를 어떻게 단계별로 노출할 것인가'에 대한 고민을 할 수 있었던 유익한 과정이었습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;18&quot; data-ke-size=&quot;size16&quot;&gt;디자이너로서 단순히 예쁜 결과물을 만드는 것을 넘어,&lt;/p&gt;
&lt;p data-path-to-node=&quot;18&quot; data-ke-size=&quot;size16&quot;&gt;타겟(팬층)의 문화를 이해하고 그들이 즐길 수 있는 요소를 배치하는 감각의 중요성을 다시 한번 배울 수 있었습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>디자인</category>
      <author>danmi01</author>
      <guid isPermaLink="true">https://danmi01.tistory.com/19</guid>
      <comments>https://danmi01.tistory.com/19#entry19comment</comments>
      <pubDate>Mon, 13 Apr 2026 01:55:16 +0900</pubDate>
    </item>
    <item>
      <title>[Web Project Report] MathHub UX/UI 리디자인</title>
      <link>https://danmi01.tistory.com/18</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;3,0&quot;&gt;&quot;환경에 구애받지 않는 양질의 수학 교육을 위하여&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;방치된 정보의 나열에서 학습자 중심의 시스템으로, MathHub의 정체성을 재정립한 팀 프로젝트&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: center;&quot;&gt;기존 mathhub 링크 :&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://mathhub.io/&quot;&gt;https://mathhub.io/&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-path-to-node=&quot;5&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-path-to-node=&quot;5&quot; data-ke-size=&quot;size23&quot;&gt;1. Diagnosis &amp;amp; Leadership: 프로젝트의 시작&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;프로젝트 전반의 혼선을 방지하고 효율적인 협업을 위해 시스템의 기틀을 마련함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;7&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,0,0&quot;&gt;디자인 시스템 선구축:&lt;/b&gt; 팀원 간 디자인 파편화를 방지하기 위해 리디자인 방향성을 설정하고 디자인 가이드를 최우선으로 정립.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,1,0&quot;&gt;정체성 혼란 해결:&lt;/b&gt; 중구난방이던 카테고리를 '국내 중&amp;middot;고등학생' 중심으로 재편하고, 글로벌 자료는 별도 섹션으로 분리하는 전략 수립.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,2,0&quot;&gt;UI 불친절 개선:&lt;/b&gt; 기계적인 나열에서 벗어나 학습자의 미감과 편의를 고려한 UX 전략 제시.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-04-12 오후 2.29.33.png&quot; data-origin-width=&quot;1104&quot; data-origin-height=&quot;1284&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VlqkX/dJMb99TwK8l/oba8wkS6c5R33IUAYBWGC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VlqkX/dJMb99TwK8l/oba8wkS6c5R33IUAYBWGC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VlqkX/dJMb99TwK8l/oba8wkS6c5R33IUAYBWGC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVlqkX%2FdJMb99TwK8l%2Foba8wkS6c5R33IUAYBWGC0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;372&quot; height=&quot;433&quot; data-filename=&quot;스크린샷 2026-04-12 오후 2.29.33.png&quot; data-origin-width=&quot;1104&quot; data-origin-height=&quot;1284&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-path-to-node=&quot;9&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-path-to-node=&quot;9&quot; data-ke-size=&quot;size23&quot;&gt;2. My Contributions: 주요 수행 업무&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;팀의 중심에서 전체 흐름을 조율하는 동시에, 학습 경험의 핵심인 &lt;b data-index-in-node=&quot;36&quot; data-path-to-node=&quot;10&quot;&gt;이론(개념) 파트&lt;/b&gt;의 설계를 전담함.&lt;/p&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-path-to-node=&quot;11&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;11&quot;&gt;2.1 이론 리스트 및 개념 학습 페이지 디자인&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;12&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12,0,0&quot;&gt;이론 리스트:&lt;/b&gt; 초기 카드형의 시각적 피로도를 해결하기 위해 &lt;b data-index-in-node=&quot;33&quot; data-path-to-node=&quot;12,0,0&quot;&gt;일자형 리스트&lt;/b&gt;로 선회. 폰트 위계 강화 및 검색 기능을 추가해 접근성 극대화.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12,1,0&quot;&gt;개념 학습 페이지:&lt;/b&gt; 학습 흐름을 끊지 않도록 UI를 배치하고, &lt;b data-index-in-node=&quot;35&quot; data-path-to-node=&quot;12,1,0&quot;&gt;정답 숨기기 토글&lt;/b&gt; 등 실질적인 학습 보조 기능을 구현.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;13&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;13&quot;&gt;2.2&amp;nbsp; 프리젠테이션&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;14&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;14,1,0&quot;&gt;발표 자료 제작 및 스피커:&lt;/b&gt; 프로젝트의 논리적 근거(문제 진단, 벤치마킹, 기대 효과)를 담은 최종 발표 자료를 제작하고 직접 발표를 진행함.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-path-to-node=&quot;16&quot; data-ke-size=&quot;size23&quot;&gt;3. Design Guideline (Standardized for Team)&lt;/h3&gt;
&lt;p data-path-to-node=&quot;17&quot; data-ke-size=&quot;size16&quot;&gt;협업의 효율을 높이기 위해 팀원과 정립한 가이드라인.&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;18&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18&quot;&gt;  Color System&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;19&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;19,1,0&quot;&gt;P&lt;span&gt;oint Blue&lt;/span&gt; (&lt;span&gt;#2C4578&lt;/span&gt;): &lt;/b&gt;&lt;span&gt;주요 버튼(CTA)과 핵심 포인트 요소에 사용&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;19,2,0&quot;&gt;&lt;span&gt;LIght Blue &lt;/span&gt;(&lt;span&gt;#C5DCFF&lt;/span&gt;):&lt;/b&gt; &lt;span&gt;사이트의 전체적인 배경과 메인 톤을 담당&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b data-path-to-node=&quot;19,0,0&quot; data-index-in-node=&quot;0&quot;&gt;&lt;span&gt;Blue Green&lt;/span&gt; (&lt;span&gt;#31BCEB&lt;/span&gt;):&lt;/b&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;글로벌 페이지 컬러&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;19,0,0&quot;&gt;&lt;span&gt;&lt;span&gt;Back Gray&lt;/span&gt;&amp;nbsp;&lt;/span&gt;(&lt;span&gt;#&lt;span&gt;999999&lt;/span&gt;&lt;/span&gt;):&lt;/b&gt;&lt;span&gt;&lt;span&gt; &lt;span&gt;기본 선(Border)과 보조 텍스트에 사용&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-path-to-node=&quot;20&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20&quot;&gt;Typography (Pretendard)&lt;/b&gt;&lt;/h4&gt;
&lt;h4 data-path-to-node=&quot;22&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22&quot;&gt;UI Principles&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;23&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 요소에 &lt;b data-index-in-node=&quot;7&quot; data-path-to-node=&quot;23,0,0&quot;&gt;Border Radius 10px&lt;/b&gt; 적용 및 &lt;b data-index-in-node=&quot;31&quot; data-path-to-node=&quot;23,0,0&quot;&gt;Chevron 스타일&lt;/b&gt; 아이콘 통일로 브랜드 일관성 유지.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-path-to-node=&quot;24&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;25&quot; data-ke-size=&quot;size23&quot;&gt;4. Responsive &amp;amp; Expected Effects&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;26&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;26,0,0&quot;&gt;모바일 최적화:&lt;/b&gt; 터치 오작동 방지 및 텍스트 시인성 확보를 위한 UI 조정.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;26,1,0&quot;&gt;기대 효과:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;26,1,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;26,1,1,0,0&quot;&gt;협업 효율 향상:&lt;/b&gt; 디자인 가이드 준수로 작업물 통합 시간 단축.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;26,1,1,1,0&quot;&gt;학습 몰입도 강화:&lt;/b&gt; 정돈된 UI와 학습 보조 기능으로 플랫폼 신뢰도 상승.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;결과보고서&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.google.com/presentation/d/1IBzwV5jGWABh4qam55XnBMvs4s5KNVEm_VbyJ9a7MG4/edit?usp=sharing&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://docs.google.com/presentation/d/1IBzwV5jGWABh4qam55XnBMvs4s5KNVEm_VbyJ9a7MG4/edit?usp=sharing&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775972441149&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;mathhub 리디자인 결과보고서&quot; data-og-description=&quot;이 브라우저 버전은 더 이상 지원되지 않습니다. 지원되는 브라우저로 업그레이드하세요.&quot; data-og-host=&quot;docs.google.com&quot; data-og-source-url=&quot;https://docs.google.com/presentation/d/1IBzwV5jGWABh4qam55XnBMvs4s5KNVEm_VbyJ9a7MG4/edit?usp=sharing&quot; data-og-url=&quot;https://docs.google.com/presentation/d/1IBzwV5jGWABh4qam55XnBMvs4s5KNVEm_VbyJ9a7MG4/edit?usp=sharing&amp;amp;usp=embed_facebook&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ch2JWn/dJMb88690I1/yQOmVKe61f9J0rHQtV6lik/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://docs.google.com/presentation/d/1IBzwV5jGWABh4qam55XnBMvs4s5KNVEm_VbyJ9a7MG4/edit?usp=sharing&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.google.com/presentation/d/1IBzwV5jGWABh4qam55XnBMvs4s5KNVEm_VbyJ9a7MG4/edit?usp=sharing&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ch2JWn/dJMb88690I1/yQOmVKe61f9J0rHQtV6lik/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;mathhub 리디자인 결과보고서&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이 브라우저 버전은 더 이상 지원되지 않습니다. 지원되는 브라우저로 업그레이드하세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;docs.google.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;메인_1.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;6786&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPQp6j/dJMcacQf4CU/CKAFlLjAjtx1JG1aEpKKzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPQp6j/dJMcacQf4CU/CKAFlLjAjtx1JG1aEpKKzK/img.png&quot; data-alt=&quot;메인페이지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPQp6j/dJMcacQf4CU/CKAFlLjAjtx1JG1aEpKKzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPQp6j%2FdJMcacQf4CU%2FCKAFlLjAjtx1JG1aEpKKzK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;271&quot; height=&quot;958&quot; data-filename=&quot;메인_1.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;6786&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;메인페이지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zdQuT/dJMcahcXtp7/ujcZCpufNvDudRi5nVOCh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zdQuT/dJMcahcXtp7/ujcZCpufNvDudRi5nVOCh1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;2572&quot; data-filename=&quot;개념_1.png&quot; data-widthpercent=&quot;69.91&quot; width=&quot;661&quot; height=&quot;885&quot; style=&quot;width: 69.0947%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zdQuT/dJMcahcXtp7/ujcZCpufNvDudRi5nVOCh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzdQuT%2FdJMcahcXtp7%2FujcZCpufNvDudRi5nVOCh1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;2572&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/C3KTz/dJMcaffbOY3/RRGfhKGvrB9TJkYx68kbYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/C3KTz/dJMcaffbOY3/RRGfhKGvrB9TJkYx68kbYk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;5975&quot; data-filename=&quot;개념_2.png&quot; style=&quot;width: 29.7425%;&quot; data-widthpercent=&quot;30.09&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/C3KTz/dJMcaffbOY3/RRGfhKGvrB9TJkYx68kbYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FC3KTz%2FdJMcaffbOY3%2FRRGfhKGvrB9TJkYx68kbYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;5975&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;이론리스트/ 이론 페이지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RuzG4/dJMcahKOHjQ/15ns7scPi0XXSkVY3sAEL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RuzG4/dJMcahKOHjQ/15ns7scPi0XXSkVY3sAEL0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;3434&quot; data-filename=&quot;기출.png&quot; width=&quot;469&quot; height=&quot;839&quot; style=&quot;width: 53.7692%; margin-right: 10px;&quot; data-widthpercent=&quot;54.4&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RuzG4/dJMcahKOHjQ/15ns7scPi0XXSkVY3sAEL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRuzG4%2FdJMcahKOHjQ%2F15ns7scPi0XXSkVY3sAEL0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;3434&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TF1GE/dJMcagE9zOY/iau55JUmXORKpzH9rIetkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TF1GE/dJMcagE9zOY/iau55JUmXORKpzH9rIetkk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;4097&quot; data-filename=&quot;문제집 &amp;amp;amp; 해설.png&quot; width=&quot;416&quot; height=&quot;888&quot; style=&quot;width: 45.068%;&quot; data-widthpercent=&quot;45.6&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TF1GE/dJMcagE9zOY/iau55JUmXORKpzH9rIetkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTF1GE%2FdJMcagE9zOY%2Fiau55JUmXORKpzH9rIetkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;4097&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;기출문제 다운 / 문제집 추천&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;문제집 &amp;amp;amp; 해설-2.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;3732&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Kc93d/dJMcadn4bKT/k0cVfQlb5Xg3KZt1t866n1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Kc93d/dJMcadn4bKT/k0cVfQlb5Xg3KZt1t866n1/img.png&quot; data-alt=&quot;글로벌 페이지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Kc93d/dJMcadn4bKT/k0cVfQlb5Xg3KZt1t866n1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKc93d%2FdJMcadn4bKT%2Fk0cVfQlb5Xg3KZt1t866n1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;652&quot; height=&quot;1267&quot; data-filename=&quot;문제집 &amp;amp; 해설-2.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;3732&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;글로벌 페이지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>디자인</category>
      <author>danmi01</author>
      <guid isPermaLink="true">https://danmi01.tistory.com/18</guid>
      <comments>https://danmi01.tistory.com/18#entry18comment</comments>
      <pubDate>Sun, 12 Apr 2026 14:55:09 +0900</pubDate>
    </item>
    <item>
      <title>[Poster Design] 어도비 파이어플라이로 만든 &amp;lsquo;치즈베이글&amp;rsquo; 포스터 제작기</title>
      <link>https://danmi01.tistory.com/17</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요, 디자인 공부하는 단미입니다. 지난 포스터 작업에 이어 이번에는 식욕을 자극하는 푸드 그래픽 작업을 진행해 봤습니다. 이번 작업의 주인공은 흘러내리는 치즈가 일품인 '치즈베이글'입니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;어도비 파이어플라이(Adobe Firefly)를 활용해 상상 속의 완벽한 비주얼을 뽑아내고, 이를 배너 포스터로 완성하는 과정을 기록해 둡니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;치즈베이글.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckA6t2/dJMcab4SCqg/1C9eZgBFbpeR63IBw4Ntl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckA6t2/dJMcab4SCqg/1C9eZgBFbpeR63IBw4Ntl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckA6t2/dJMcab4SCqg/1C9eZgBFbpeR63IBw4Ntl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckA6t2%2FdJMcab4SCqg%2F1C9eZgBFbpeR63IBw4Ntl1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1350&quot; data-filename=&quot;치즈베이글.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1350&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;7&quot; data-ke-size=&quot;size23&quot;&gt;1. 디자인 모티브 및 기획: '치즈가 폭포처럼 쏟아지는 순간'&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;8&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,0,0&quot;&gt;컨셉:&lt;/b&gt; 제목 그대로 'The Great Cheese-Fall'. 치즈가 폭포처럼 흘러내리는 압도적인 비주얼을 시각화하는 것이 목표.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,1,0&quot;&gt;컬러 전략:&lt;/b&gt; 치즈의 노란색과 보색 관계에 있는 딥 블루(Deep Blue)를 배경색으로 설정. 대비를 극대화해 시선을 한 번에 사로잡도록 기획함.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-path-to-node=&quot;9&quot; data-ke-size=&quot;size23&quot;&gt;2. 푸드 이미지의 실사화: AI로 만든 '완벽한 한 입'&lt;/h3&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;이번 작업의 핵심은 실제 사진보다 더 먹음직스러운 치즈의 질감을 파이어플라이로 구현한 것임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;11&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;11,0,0&quot;&gt;프롬프트 포인트:&lt;/b&gt; 'Melting cheddar cheese', 'Dripping', 'Golden brown toasted bagel', 'Crispy bacon', 'High-contrast studio lighting'.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;11,1,0&quot;&gt;이미지 분석:&lt;/b&gt; 베이글 사이에서 터져 나오는 치즈의 볼륨감과 번들거리는 질감을 강조함. 특히 베이글의 거친 표면과 대비되는 치즈의 매끄러운 곡선이 잘 표현되도록 유도함.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;11,2,0&quot;&gt;디테일 수정:&lt;/b&gt; 생성된 이미지에서 베이글의 구워진 정도와 베이컨의 배치를 조정하여 가장 '맛있어 보이는' 구도를 확보함.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1775970279020&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;A high-resolution, close-up photograph of a bountiful, paper-wrapped bagel sandwich, 
sliced in half and positioned centrally against a solid, vibrant cobalt blue background.
The golden-brown, toasted bagel is held together in a crumpled parchment or kraft paper wrap.
The exposed cross-section reveals an abundance of molten, golden-yellow cheddar cheese,
dramatically and copiously melting and dripping in heavy, 
thick rivulets from the top half down onto the bottom half of the bagel. 
Below the rich, flowing cheese, a layer of crispy, well-cooked bacon strips is clearly 
visible, resting on a thick, soft fried egg or scrambled egg patty. 
The texture of the porous bagel, the crisp bacon, the soft egg, and the rich, 
glossy cheese are all hyper-detailed. The melting cheese is the central focus. Natural,
warm studio lighting highlights the textures. The perspective is frontal and direct.&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Firefly_A high-resolution, close-up photograph of a bountiful, paper-wrapped bagel sandwich, 622949.jpg&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;2560&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cMByO8/dJMcahcXsFq/Kd9kaTv6ldw9nzZ50pZzh0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cMByO8/dJMcahcXsFq/Kd9kaTv6ldw9nzZ50pZzh0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cMByO8/dJMcahcXsFq/Kd9kaTv6ldw9nzZ50pZzh0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcMByO8%2FdJMcahcXsFq%2FKd9kaTv6ldw9nzZ50pZzh0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;362&quot; height=&quot;2560&quot; data-filename=&quot;Firefly_A high-resolution, close-up photograph of a bountiful, paper-wrapped bagel sandwich, 622949.jpg&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;2560&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;12&quot; data-ke-size=&quot;size23&quot;&gt;3. 주요 작업 포인트: 타이포그래피 위계와 조화&lt;/h3&gt;
&lt;p data-path-to-node=&quot;13&quot; data-ke-size=&quot;size16&quot;&gt;강력한 이미지에 밀리지 않도록 텍스트의 위계(Hierarchy)를 잡는 데 집중함.&lt;/p&gt;
&lt;p data-path-to-node=&quot;14&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;14&quot;&gt;① 메인 타이틀 (The Great Cheese-Fall)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;15&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 강조되어야 할 요소. 두껍고 단단한 &lt;b&gt;SB Aggro&lt;/b&gt; 체를 사용해 무게감을 줌.&lt;/li&gt;
&lt;li&gt;치즈를 연상시키는 &lt;b data-index-in-node=&quot;10&quot; data-path-to-node=&quot;15,1,0&quot;&gt;옐로우 계열&lt;/b&gt; 컬러를 적용해 이미지와의 통일감을 높임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16&quot;&gt;② 서브 카피 (Cheese, Crispy Bacon, and Pure Bliss)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;17&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;딱딱한 메인 타이틀과 대비되도록 리드미컬한 필기체(&lt;b&gt;Brittany Signature&lt;/b&gt;)를 선택.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;17,1,0&quot;&gt;레드 컬러&lt;/b&gt;를 사용해 자칫 단조로울 수 있는 블루-옐로우 조합에 강렬한 포인트 점을 찍음.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;18&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18&quot;&gt;③ 정보 텍스트 (LUNCH MENU)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;19&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;상단에 작게 배치하되, AppleMyungjo 체를 사용해 전체적인 디자인에 안정감과 고급스러움을 더함.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-path-to-node=&quot;20&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-path-to-node=&quot;21&quot; data-ke-size=&quot;size23&quot;&gt;마치며&lt;/h3&gt;
&lt;p data-path-to-node=&quot;22&quot; data-ke-size=&quot;size16&quot;&gt;이번 작업은 '가장 강력한 이미지 하나'를 위해 AI를 어떻게 활용할 것인가, 그리고 그 이미지를 '디자인적으로 어떻게 뒷받침할 것인가'를 고민해 본 과정이었음.&lt;/p&gt;
&lt;p data-path-to-node=&quot;23&quot; data-ke-size=&quot;size16&quot;&gt;단순히 멋진 이미지를 뽑는 것에 그치지 않고, 폰트의 크기와 굵기, 컬러 대비를 통해 사용자의 시선이 [이미지 -&amp;gt; 타이틀 -&amp;gt; 카피] 순으로 자연스럽게 흐르도록 구성하는 재미가 있었음. 역시 디자인의 완성은 한 끗 차이의 위계 설정에 있다는 걸 다시 체감함.&lt;/p&gt;</description>
      <category>디자인</category>
      <author>danmi01</author>
      <guid isPermaLink="true">https://danmi01.tistory.com/17</guid>
      <comments>https://danmi01.tistory.com/17#entry17comment</comments>
      <pubDate>Sun, 12 Apr 2026 14:07:50 +0900</pubDate>
    </item>
  </channel>
</rss>