μλ λ‘κ·Έ νλ¦μ κ°μ±μ λμ§νΈ μ¬μ§μ λ΄λ€
FilmInμ μλ λ‘κ·Έ νλ¦ μΉ΄λ©λΌμ κ°μ±μ λͺ¨λ°μΌ νκ²½μμ μ¬ννλ μ΄λ―Έμ§ νΈμ§ μ ν리μΌμ΄μ μ λλ€. μ€μ νλ¦μ κ·Έλ μΈ, λ¨Όμ§ ν¨κ³Όμ μ λ¬Έκ°κΈ LUT κΈ°λ° μ보μ κΈ°λ₯μ ν΅ν΄ λμ§νΈ μ¬μ§μ λΉν°μ§ νλ¦ μ¬μ§μΌλ‘ λ³νν©λλ€.
μ€μ νλ¦ μ μκ°μ μ¬νν κ·Έλ μΈ ν¨κ³Ό
- Fuji Reala - μ¬μΈνκ³ λΆλλ¬μ΄ κ·Έλ μΈ
- Fuji Pro 400H - μ€κ° ν€μ μμ°μ€λ¬μ΄ μ μ
- Fuji Superia - μ λͺ ν μ μκ°
λΉν°μ§ νλ¦μ λ¨Όμ§μ μ€ν¬λμΉ ν¨κ³Ό
- Vintage Dust 1-3 - λ€μν λ¨Όμ§/μ€ν¬λμΉ ν¨ν΄
- μμ°μ€λ¬μ΄ μ€λ²λ μ΄ λΈλ λ©
- 3D LUT(Look-Up Table) κΈ°λ° μ λ¬Έκ°κΈ μ보μ
- 33κ° μ΄μμ 컀μ€ν νν° ν리μ
- CUBE ν¬λ§· μ§μ
- μ€μκ° ν리뷰 λ° κ°λ μ‘°μ (0-100%)
10μ’ μ μ λ¬Έκ°κΈ μ‘°μ λꡬ:
| κΈ°λ₯ | μ€λͺ |
|---|---|
| Exposure | μ 체 λ ΈμΆ μ‘°μ |
| Contrast | λͺ μ λλΉ |
| Highlights | λ°μ μμ 볡ꡬ |
| Shadows | μ΄λμ΄ μμ 보μ |
| Whites | νμ΄νΈ ν¬μΈνΈ |
| Blacks | λΈλ ν¬μΈνΈ |
| Saturation | μ±λ μ‘°μ |
| Warmth | μμ¨λ (Warm β Cool) |
| Sharpness | μ λͺ λ |
| Noise Reduction | λ Έμ΄μ¦ κ°μ |
λ€μν λΉμ¨ ν리μ μ§μ:
- Original - μλ³Έ λΉμ¨
- 1:1 - μ μ¬κ°ν
- 4:5 - Instagram μΈλ‘
- 3:4 - ν΄λμ μ¬μ§
- 9:16 - μΈλ‘ λμμ
- 16:9 - κ°λ‘ λμμ
- Freeform - μμ νμ
- κ³ νμ§ μ΄λ―Έμ§ μ μ₯ (JPEG/PNG)
- κ°€λ¬λ¦¬ μλ μ μ₯
- νΈμ§ μ /ν μ€μκ° λΉκ΅ κΈ°λ₯
| κΈ°μ | λ²μ | μ©λ |
|---|---|---|
| Flutter | 3.9.0 | ν¬λ‘μ€νλ«νΌ UI |
| Dart | 3.9.0 | νλ‘κ·Έλλ° μΈμ΄ |
| ν¨ν€μ§ | λ²μ | μ©λ |
|---|---|---|
| flutter_riverpod | 2.6.1 | λ°μν μν κ΄λ¦¬ |
| go_router | 16.2.1 | μ μΈμ λΌμ°ν |
| ν¨ν€μ§ | λ²μ | μ©λ |
|---|---|---|
| image | 4.2.0 | ν½μ λ¨μ μ΄λ―Έμ§ μ²λ¦¬ |
| image_picker | 1.1.2 | κ°€λ¬λ¦¬/μΉ΄λ©λΌ μ κ·Ό |
| cached_network_image | 3.3.1 | μ΄λ―Έμ§ μΊμ± |
| image_gallery_saver | 2.0.3 | κ°€λ¬λ¦¬ μ μ₯ |
| ν¨ν€μ§ | λ²μ | μ©λ |
|---|---|---|
| firebase_core | 2.30.1 | Firebase ν΅ν© |
| firebase_storage | 11.6.9 | ν΄λΌμ°λ μ΄λ―Έμ§ μ μ₯μ |
| shared_preferences | 2.2.2 | λ‘컬 μ€μ μ μ₯ |
| ν¨ν€μ§ | λ²μ | μ©λ |
|---|---|---|
| flutter_svg | 2.0.10 | SVG μμ΄μ½ μ§μ |
| permission_handler | 11.3.1 | κΆν κ΄λ¦¬ |
lib/
βββ main.dart # μ± μ§μ
μ
βββ firebase_options.dart # Firebase μ€μ
βββ app/
β βββ di/ # μμ‘΄μ± μ£Όμ
β
βββ features/
βββ splash/ # μ€νλμ νλ©΄
βββ onboarding/ # μ¨λ³΄λ© & μ΄λ―Έμ§ 그리λ
β βββ models/ # λ°μ΄ν° λͺ¨λΈ
β βββ network/ # λ€νΈμν¬ λ μ΄μ΄
β βββ services/ # λΉμ¦λμ€ λ‘μ§
β βββ widgets/ # UI μ»΄ν¬λνΈ
β
βββ gallery/ # κ°€λ¬λ¦¬ μ ν
β
βββ editview/ # π― ν΅μ¬ νΈμ§ κΈ°λ₯
β βββ services/
β β βββ brightness_service.dart # λ°κΈ°/μμ μ²λ¦¬
β β βββ film_effects_service.dart # νλ¦ ν¨κ³Ό μμ§
β β βββ lut_filter_service.dart # LUT νν° μμ§
β β βββ image_crop_service.dart # ν¬λ‘ μ²λ¦¬
β β βββ image_processing_service.dart # ν΅ν© μ΄λ―Έμ§ μ²λ¦¬
β β βββ image_save_service.dart # μ μ₯ μλΉμ€
β β βββ texture_cache.dart # ν
μ€μ² μΊμ±
β β
β βββ widgets/
β β βββ brightness/ # λ°κΈ° μ‘°μ UI
β β βββ filter/ # νν° μ ν UI
β β βββ effect/ # ν¨κ³Ό μ ν UI
β β βββ crop/ # ν¬λ‘ UI
β β
β βββ state/ # μλν° μν κ΄λ¦¬
β βββ ui/ # λ μ΄μμ μ»΄ν¬λνΈ
β βββ viewer_page.dart # λ©μΈ μλν° νλ©΄
β
βββ export/ # μ΄λ―Έμ§ λ΄λ³΄λ΄κΈ°
assets/
βββ filters/
β βββ lut/ # LUT νμΌ (.CUBE)
β βββ new_filters_33/ # 33κ° μ»€μ€ν
νν°
β
βββ effects/
β βββ grain/ # κ·Έλ μΈ ν
μ€μ²
β βββ dust/ # λμ€νΈ ν
μ€μ²
β
βββ svg/
β βββ light/ # λΌμ΄νΈ λͺ¨λ μμ΄μ½
β βββ dark/ # λ€ν¬ λͺ¨λ μμ΄μ½
β
βββ icon/ # μ± λ‘κ³ & μμ΄μ½
βββ images/ # λ°°λ μ΄λ―Έμ§
βββ gif/ # λ°λͺ¨ GIF
| νλ«νΌ | μν | μ΅μ λ²μ |
|---|---|---|
| iOS | β μ§μ | iOS 12.0+ |
| Android | β μ§μ | API 21+ (Android 5.0) |
| Web | π κ°λ° μμ | - |
ν΅μ¬ κΈ°λ₯
- β Grain ν¨κ³Ό (Fuji Reala, Pro 400H, Superia)
- β Dust ν¨κ³Ό (Vintage 1-3)
- β LUT κΈ°λ° νν° μμ€ν (33κ° νν°)
- β 10μ’ λ°κΈ°/μμ μ‘°μ λꡬ
- β λ€μν ν¬λ‘ λΉμ¨ μ§μ
- β μ€μκ° Before/After λΉκ΅
κΈ°μ νμ΄λΌμ΄νΈ
- Isolate κΈ°λ° λΉλκΈ° μ΄λ―Έμ§ μ²λ¦¬ μ΅μ ν
- ν½μ λ¨μ 컀μ€ν λΈλ λ λͺ¨λ ꡬν
- ν μ€μ² μΊμ±μ ν΅ν λ©λͺ¨λ¦¬ μ΅μ ν
- Firebase Storage μ°λ
- μΆκ° νλ¦ ν¨κ³Ό (Halation λ±)
- λ°°μΉ νΈμ§ κΈ°λ₯
- AI κΈ°λ° μλ 보μ
- μΉ λ²μ μ§μ
MIT License - LICENSE νμΌ μ°Έμ‘°
Made with β€οΈ by FilmIn Team
μλ λ‘κ·Έ νλ¦μ κ°μ±μ λμ§νΈλ‘
