Prompt file imported from sho-kawasaki-dd/RGB_to_CMYK (
.github/prompts/plan-rgbToCmyk.prompt.md). Copyright stays with the author.
Plan: RGB to CMYK CLI
RGB JPEG ã CMYK JPEG ã«å€æãã Python CLI ãæ°èŠè¿œå ããã倿æ¹åŒã¯åçŽå€æãš ICC ãããã¡ã€ã«å€æãåãæ¿ãå¯èœã«ããæ¢å®ã§ã¯ã¯ãŒã¯ã¹ããŒã¹å ã® JapanColor2011Coated ICC ã䜿ããåçããåäžãã¡ã€ã«ã ãã§ãªãè€æ°ãã¡ã€ã«/ãã©ã«ãå ¥åã«å¯Ÿå¿ããå®è¡æ¹æ³ãè¿·ããªããã README ãšäŸåé¢ä¿æ¡å ãå«ããã
Steps
- Phase 1: CLI 仿§ã確å®ãããå ¥åãšããŠåäžãã¡ã€ã«ãè€æ°ãã¡ã€ã«ããã£ã¬ã¯ããªãåãåãæ¹éãæŽçããå ±éãªãã·ã§ã³ãå®çŸ©ãããåè£ã¯ conversion method åæ¿ãoutput path or output directoryãqualityãoverwriteãcustom input ICCãcustom output ICCãrecursiveãverifyãããã§åºåãã¡ã€ã«åèŠåãåºå®ããããã£ã¬ã¯ããªå ¥åæã¯å ãã¡ã€ã«åã« _cmyk ãä»äžããåºåå æªæå®ãªãå ¥åå ãšåãéå±€ãå°çšåºåãã£ã¬ã¯ããªã«ä¿åããã以éã®å®è£ ã¯ãã®ä»æ§ã«äŸåããã
- Phase 2: ã³ã¢å€æåŠçãèšèšãããPillow ã䜿ãå ±éããŒãåŠçãäœããRGB 以å€ã®å ¥å㯠RGB ã«æ£èŠåããŠãã倿ãããsimple ã¢ãŒãã§ã¯ Image.convert("CMYK")ãicc ã¢ãŒãã§ã¯ ImageCms ã䜿ã£ã profile-to-profile 倿ãè¡ããå ¥åç»åã«åã蟌㿠ICC ããªãå Žå㯠sRGB ãæ¢å®å ¥åãããã¡ã€ã«ãšããŠæ±ããåºåæã¯ CMYK JPEG ä¿åã«å ããŠãICC ã¢ãŒãã§ã¯åºå ICC ãæç€ºçã«åã蟌ãèšèšã«ãããPhase 1 ã«äŸåã
- Phase 3: ãã¹è§£æ±ºãšãããåŠçãèšèšãããã¹ã¯ãªããäœçœ®åºæºã§æ¢å® ICC ã®çµ¶å¯Ÿãã¹ã解決ããã«ã¬ã³ããã£ã¬ã¯ããªã«äŸåããªãããã«ããããã©ã«ãå ¥åæã¯ JPEG æ¡åŒµåãåæããå¿ èŠãªãååž°æ¢çŽ¢ãåãæ¿ããããããã«ãããåŠçåäœããšã«æå/倱æãåéããæåŸã«ä»¶æ°ãµããªãè¿ããPhase 2 ãšäžŠè¡ã§è©³çްåã§ããããå®è£ ã¯å€æ API 確å®åŸã
- Phase 4: ãšã©ãŒãã³ããªã³ã°ãšçµäºã³ãŒããå®çŸ©ãããå ¥åäžååšãJPEG 以å€ãICC ãã¡ã€ã«äžååšãPillow/ImageCms 倿倱æãåºåå ç«¶åãåºå¥ããŠæ±ããåäžãã¡ã€ã«æã¯å³å€±æãè€æ°å ¥åæã¯å¯èœãªãã®ãç¶ç¶åŠçããŠæçµçã«éãŒãçµäºã«ããæ¹éãæ¡ããverify ãªãã·ã§ã³ã§ã¯åºåç»åãåãªãŒãã³ããmode ã CMYK ã§ããããšãš ICC æ å ±ã®æç¡ã確èªãããPhase 2 ãš Phase 3 ã«äŸåã
- Phase 5: é åžããããæ§æã«ãŸãšãããCLI æ¬äœãã¯ãŒã¯ã¹ããŒã¹çŽäžã«é 眮ããããå°æ¥ã®æ¡åŒµãèŠæ®ã㊠module åããããæ±ºãããçŸç¶ã¯ã³ãŒãããŒã¹ã空ãªã®ã§ãåçã¯åäžã¹ã¯ãªããã§ãããã倿颿°ãå ¥ååæãCLI åŒæ°åŠçã¯é¢æ°åé¢ããŠãã¹ããããããããREADME ã«ã¯ã»ããã¢ãããåºæ¬äŸãsimple ãš ICC ã®éããWindows ã§ã®èŠãæ¹ã®æ³šæãèšèŒãããrequirements ã«ã¯ Pillow ãæèšãããPhase 1 ãã Phase 4 ã®å 容ãåæ ã
- Phase 6: æ€èšŒæé ãçšæãããåäž JPEGãè€æ° JPEGããã©ã«ãå ¥åãã«ã¹ã¿ã ICC æå®ãICC æ¬ èœãäžæžãæåŠãsimple/icc åæ¿ãæåãã¹ããããåºå JPEG ã Pillow ã§åèªèŸŒã mode ãš info ã確èªãããWindows æšæºãã¥ãŒã¢ã§ã®èŠãæ¹ã¯äžå®å®ãªã®ã§ãè²ã®ç¢ºèªã¯ ICC 察å¿ããŒã«ã§ãæ¯èŒãããå šãã§ãŒãºå®äºåŸã«å®æœã
- Phase 7: ããã¥ã¡ã³ããšã³ãŒãã®æçµèª¿æŽãREADME ã®å 容ãå®è£ ã«åãããŠæŽæ°ãã誀åè±åã衚çŸã®äžæçãªéšåãä¿®æ£ãããã³ãŒãå ã«è©³çްãªDocStringããã³ã³ã¡ã³ãã远å ããŠãåŠçã®æå³ã泚æç¹ãæç¢ºã«ãããå¿ èŠã«å¿ããŠãCLI åŒæ°ã®ãã«ãæèšãå å®ããããå šãã§ãŒãºå®äºåŸã«å®æœã
Relevant files
- d:\programming\py_apps\RGB_to_CMYK_JPEGã®RGBãšCMYKã®éã .md â simple å€æãš ICC 倿ã®äºç³»çµ±ãããã³è²åçŸã»ãã¥ãŒã¢äºææ§ã®æ³šæç¹ã®åç §å ã
- d:\programming\py_apps\RGB_to_CMYK\JapanColor2011Coated\JapanColor2011Coated.icc â CLI ã®æ¢å®åºå ICC ãšããŠäœ¿çšãããã¡ã€ã«ã
- d:\programming\py_apps\RGB_to_CMYK\rgb_to_cmyk.py â 远å äºå®ã® CLI æ¬äœãargparseã倿åŠçãå ¥ååæãçµäºã³ãŒã管çãéçŽããæ³å®ã
- d:\programming\py_apps\RGB_to_CMYK\README.md â 远å äºå®ã®å©çšæé æžãå®è¡äŸãšæ³šæäºé ãèšèŒããæ³å®ã
- d:\programming\py_apps\RGB_to_CMYK\requirements.txt â 远å äºå®ã®äŸåé¢ä¿å®çŸ©ãPillow ãæèšããæ³å®ã
Verification
- åäž RGB JPEG ã simple ã¢ãŒãã§å€æããåºå JPEG ãçæãããããšãåèªèŸŒåŸã® mode ã CMYK ã§ããããšã確èªããã
- åãå ¥åã ICC ã¢ãŒãã§å€æããæ¢å® ICC ã解決ãããããšãåºåã« ICC æ å ±ãåã蟌ãŸããŠããããšã確èªããã
- ãã©ã«ãå ¥åã§è€æ° JPEG ããŸãšããŠå€æããJPEG 以å€ãç¡èŠãŸãã¯æç¢ºã«å ±åãããããšã倱æä»¶æ°ãçµäºã³ãŒãããµããªã«åæ ãããããšã確èªããã
- ã«ã¹ã¿ã ICC æå®ãååšããªã ICC æå®ãoverwrite æªæå®æã®æ¢ååºåè¡çªã確èªããæ³å®ã©ããã®ãšã©ãŒæèšãšçµäºã³ãŒãã«ãªãããšã確èªããã
- README èšèŒã®ã³ãã³ãäŸããã®ãŸãŸå®è¡ããŠåçŸã§ããããšã確èªããã
Decisions
- åçããè€æ°ãã¡ã€ã«/ãã©ã«ã察å¿ãå«ããã
- 倿æ¹åŒã¯ simple ãš icc ã® 2 ã¢ãŒãã CLI ãªãã·ã§ã³ã§åãæ¿ããã
- æ¢å®åºå ICC 㯠d:\programming\py_apps\RGB_to_CMYK\JapanColor2011Coated\JapanColor2011Coated.icc ã䜿ãã
- ããã¥ã¡ã³ã察象㯠README ãš requirements ãŸã§å«ããã
- 察象圢åŒã¯ JPEG ã䞻察象ãšããåçã§ã¯ PNG ãªã©ä»åœ¢åŒãžã®äžè¬åã¯å«ããªãã
Further Considerations
- æ¢å®ã¢ãŒã㯠icc ãæšå¥šãããçç±ã¯ãŠãŒã¶ãŒèŠä»¶ã«ããæ¢å® ICC ã®æŽ»çšæå³ãšãsimple 倿ã®è²æ²ã¿ãªã¹ã¯ãæç¢ºã ããã
- ãã©ã«ãåºåã®æ¢å®å ã¯å°çšåºåãã£ã¬ã¯ããªã®æ¹ãå®å šã ããå éå±€ãžã® _cmyk 远èšã簡䟿ã§ãããå®è£ åã«æçµå€æããŠãããã
- Pillow ã®ããŒãžã§ã³å·®ã§ ImageCms ã® built-in sRGB ååŸæ¹æ³ãå€ããå Žåããããããå®è£ æã«å©çšå¯èœ API ã確èªããŠãã©ãŒã«ããã¯ãèšãã.