GithubHelp home page GithubHelp logo

ics-creative / 160609_animation-image-generator Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 1.0 75.04 MB

APNGやWebPへ変換可能なアプリ「アニメ画像に変換する君」

Home Page: https://ics.media/entry/12746

JavaScript 4.28% HTML 5.53% TypeScript 35.20% CSS 0.27% C 53.55% SCSS 1.17%

160609_animation-image-generator's Introduction

160609_animation-image-generator's People

Contributors

ics-nohara avatar ics-ikeda avatar ics-matsumoto avatar ics-nishihara avatar dependabot-preview[bot] avatar

Stargazers

 avatar Yoshinori avatar よっしー avatar NiNO01 avatar ocknamo avatar *** avatar Yuqing Ji avatar Takenori Nakagawa avatar UnKnoWn avatar

Watchers

James Cloos avatar  avatar

Forkers

monaizi

160609_animation-image-generator's Issues

v2.1.7以降エラーのログが送信できていない

■ 原因
シリアライズ対象のプロパティを絞る処理に誤りがあり、何も送れなくなっている。
受け取り側ではactionパラメータがないため、そのまま終了している。

private encodeHTMLForm(data: any) {
const params = [];
for (const name in data) {
if (!name.hasOwnProperty(name)) {
continue;
}

■ 修正

  • 必要なパラメータを正しく送れるよう、型付けを含めて対応する
  • v2.2.0でXMLHttpRequestがメイン側に移動しているが、そのままだと動作しないのでnode-fetch等を導入して対応する必要あり

エラーチェックUIの強化

LINEスタンプの形式チェックエラーが保存完了後まで表示されないため、表示を強化する

  • 画面上部にラベルの色としてエラーが示されているので、具体的なエラー内容をツールチップや追加のUIによって表示する

ファイルサイズ(ピクセル数)不一致のエラーが読み込み・保存時のダイアログとしてしか表示されないため、表示を強化する

  • 画面上部のサイズラベル部分でエラーを示す等、表示方法を改善したい

[連番画像を再選択]ボタンが動作しない

手順

  1. アプリを起動し、任意の画像を選択する
  2. [連番画像を再選択]ボタンを押す
  3. 任意の画像を選択する
  4. コマ画像プレビューに1で選んだ画像がそのまま表示され、[連番画像を再選択]で選んだ画像が表示されない

期待する結果

[連番画像を再選択]で選んだ画像がコマ画像プレビューに表示されること

Apple Silicon対応

Apple Silicon対応版をリリースする

  • Electron本体のArmビルド
  • 画像変換モジュールのArm対応
    • apngasmのarm版をどうするか
    • libwebpのx86/arm版の切り替えをどうするか?
      • 予めlipoでユニバーサルにしておく?
  • ビルド後のx86/arm版のユニバーサルバイナリ化
    • @electron/universalでできる
    • これもlipoでくっつけるだけなのでサイズは倍になる

LINEスタンプの保存実行時にエラーが表示される

エラー内容

Uncaught Exception:
TypeError: Cannot read properties of undefined (reading 'VALIDATE_amount')
at Function.LineStampValidator.validate (/Users/matsumoto/Documents/git/160609_animation-image-generator/product/dist-config/common-src/validators/LineStampValidator.js:18:41)
at /Users/matsumoto/Documents/git/160609_animation-image-generator/product/dist-config/main-src/file.js:589:87
at ChildProcess.exithandler (node:child_process:397:7)
at ChildProcess.emit (node:events:394:28)
at maybeClose (node:internal/child_process:1067:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)

出力するhtmlの内容が古い

出力されるhtmlの内容が、最新のブラウザ環境から見ると古いため、更新したい

  • IEのサポートを外してAPNGのポリフィルを消す
  • SafariのWebPサポート・ChromeのAPNGサポートに対応する

画像生成用ライブラリを最新バージョンに更新する

画像生成に使用しているライブラリ(バイナリモジュール)の更新要否を調査・対応する

対象

  • product/resources/
    • apngasm-2.9.1-bin-macos / apngasm-2.9.1-bin-win32
    • libwebp-1.0.0-mac-10.13 / libwebp-1.0.0-windows-x86
    • pngquant-mac / pngquant-win (※ ver 2.7.1)

方針

  • 大きな非互換がなく差し替え可能なら更新する
  • 対象のOS,アーキテクチャを確認する
    • MacはARM対応の有無を確認する
    • このタスクではARMへの切り替えは必須ではない(別途チケット化する)

保存時まえに入力ファイルが削除されていた場合のエラーが分かりにくい

■ 前提

  • アニメ画像に変換する君では、ドラッグして登録した入力画像は保存が完了するまで削除やリネームをしてはいけない
    • 普通のデスクトップアプリだと、読み込んだものはオンメモリで処理するため、入力ファイルは削除してしまっても問題ないものが多い
  • 保存処理実行時に入力ファイルにアクセスできないと、テンポラリにコピーする処理が失敗し「一時ファイルの作成に失敗しました」というエラーが表示される

■ 対応したいこと

  • エラー表示がわかりにくいので、保存処理の前に一度ファイルの存在チェックを行いたい

Windowsでのアイコンの表示が小さく、背景が透過していない

アニメ画像に変換する君のWindows版において、アイコンが綺麗に表示されていないようです。
バージョン 4.1 で動作確認しました。

Windows 11 : アイコンが小さい

image

Windows 11: タスクバー上のアイコンが透過しているっぽい?

image

Windows 10 : アイコンが小さい

image

Windows 10: タスクバー上のアイコンが透過しているっぽい?

image

■期待値

  • プログラムメニューのアイコン: 視認できる大きさで表示されていること
  • タスクバーのアイコン: アイコンの●の外側が不自然のない透過背景で表示されていること。周りのアイコンに比べて同じぐらいの●で表示されていること。

容量最適化の「?」の配置が不自然

「容量最適化」の右側の「?」の位置に違和感を持ちました。

image

■課題
「容量最適化」の右側に「?」マークが存在することで、「容量最適化」のチェックボックスと「圧縮方式」が連動しているような印象をもちました。

■前提

  • 「容量最適化」のチェックボックスは、一時ファイルのPNGにpngquantを使うかどうかの指定
  • 「圧縮方式」の指定は、APNGの圧縮に対する指定

■解決案
「?」マークは2箇所に掲載する。

  1. 容量最適化 - 容量最適化とは、ファイルを圧縮し容量を最適化します。気付かない程度に画質を落としています。
  2. 圧縮方式 - 圧縮方式により処理時間や容量が代わり……(以下同じ)

※社内Slack(2023年2月6日)より転載

メインプロセス側のコードをバンドルする

メインプロセス側のコードは現状tscを通してJSコンパイルしているだけでバンドルを行なっていない。
このままだと外部モジュールをimportして使用する際にそのままだとelectron-packagerのパッケージング対象に含まれず実行できない(個別に対象を指定する必要がありかなり煩雑)ため、バンドラーを導入してビルド時にバンドル処理を挟むことを検討する

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.