{"action":"created","issue":{"url":"https://api.github.com/repos/otiai10/kanColleWidget/issues/658","repository_url":"https://api.github.com/repos/otiai10/kanColleWidget","labels_url":"https://api.github.com/repos/otiai10/kanColleWidget/issues/658/labels{/name}","comments_url":"https://api.github.com/repos/otiai10/kanColleWidget/issues/658/comments","events_url":"https://api.github.com/repos/otiai10/kanColleWidget/issues/658/events","html_url":"https://github.com/otiai10/kanColleWidget/issues/658","id":195974880,"number":658,"title":"スクショ保存を JPEG にした時のファイルサイズがわりと大きい","user":{"login":"xia-sava","id":679532,"avatar_url":"https://avatars.githubusercontent.com/u/679532?v=3","gravatar_id":"","url":"https://api.github.com/users/xia-sava","html_url":"https://github.com/xia-sava","followers_url":"https://api.github.com/users/xia-sava/followers","following_url":"https://api.github.com/users/xia-sava/following{/other_user}","gists_url":"https://api.github.com/users/xia-sava/gists{/gist_id}","starred_url":"https://api.github.com/users/xia-sava/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xia-sava/subscriptions","organizations_url":"https://api.github.com/users/xia-sava/orgs","repos_url":"https://api.github.com/users/xia-sava/repos","events_url":"https://api.github.com/users/xia-sava/events{/privacy}","received_events_url":"https://api.github.com/users/xia-sava/received_events","type":"User","site_admin":false},"labels":[{"id":216608730,"url":"https://api.github.com/repos/otiai10/kanColleWidget/labels/2.0","name":"2.0","color":"eb6420","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-12-16T03:45:36Z","updated_at":"2016-12-22T12:36:57Z","closed_at":null,"body":"v1 だと JPEG なら 300～700KB 程度だったんですが v2 だと 1MB 超えるくらいになります．"},"comment":{"url":"https://api.github.com/repos/otiai10/kanColleWidget/issues/comments/268791170","html_url":"https://github.com/otiai10/kanColleWidget/issues/658#issuecomment-268791170","issue_url":"https://api.github.com/repos/otiai10/kanColleWidget/issues/658","id":268791170,"user":{"login":"xia-sava","id":679532,"avatar_url":"https://avatars.githubusercontent.com/u/679532?v=3","gravatar_id":"","url":"https://api.github.com/users/xia-sava","html_url":"https://github.com/xia-sava","followers_url":"https://api.github.com/users/xia-sava/followers","following_url":"https://api.github.com/users/xia-sava/following{/other_user}","gists_url":"https://api.github.com/users/xia-sava/gists{/gist_id}","starred_url":"https://api.github.com/users/xia-sava/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xia-sava/subscriptions","organizations_url":"https://api.github.com/users/xia-sava/orgs","repos_url":"https://api.github.com/users/xia-sava/repos","events_url":"https://api.github.com/users/xia-sava/events{/privacy}","received_events_url":"https://api.github.com/users/xia-sava/received_events","type":"User","site_admin":false},"created_at":"2016-12-22T12:36:57Z","updated_at":"2016-12-22T12:36:57Z","body":"色々と確認しました．\r\n大きく分けて，即ダウンロードと編集画面経由で挙動がだいぶ異なります．\r\n\r\nまず JPEG の編集画面経由についてですが，編集画面からの保存時に q=1.0 指定を強制していたため画質に対してファイルサイズが大きくなっていた件（アプリコードの問題），これはデフォルト値を undefined にするよう修正しました．\r\nこれにより v1 と同レベルの画質・ファイルサイズとなりました．\r\n\r\n次に JPEG の即ダウンロードですが，これは caputureVisibleTab() の返す URI をそのまま downloads で保存しており，CaptureService で q=100 としているため上記の編集画面経由よりファイルサイズが大きくなります．\r\nCaptureService が引数で q を受けられるようにして，CaptureController のみが q=92 を渡すようにすると，おそらく編集画面経由と同レベルのファイルサイズになると思われます（まだ試してない）．\r\n\r\nPNG の方ですが，これは JPEG とは全然違う問題が発生していて，即ダウンロードと編集画面経由ではやはり後者の方がファイルサイズが大きくなりますが，理由が異なります．\r\n編集画面経由の場合は captureVisibleTab() の出力がいったん Image に変換されてから Canvas に draw されるんですが，この時に，アルファ値（透過情報）が必ず追加されて，RGBx8bit=24bit データが RGBAx8bit=32bit データに変換され，保存時もこのまま保存されます．\r\nつまり，編集画面を経由するだけで，劣化も強化もなしにデータが 4/3 倍になります．\r\nこれを防ぐ，というか RGBA を RGB にする方法はまだ見つけていません．軽くググったら「無理．canvas 使うな」とか無慈悲な StackOverflow が出てきましたｗ\r\n\r\nというわけでひとまずは png の方は手付かずです（だって自分使ってないしー"}}
{"actor":{"display_login":"xia-sava"}}