別のアプリケーション(CINEMA 4D)内でPythonを使用して、アプリケーション内の課題追跡システム(Jira)への接続を作成しています。この背後にある理論的根拠は、プラグインユーザーがバグを報告および追跡し、マシンの仕様、スクリーンショット、シーンファイル(テクスチャを含む)を自動的に添付することを非常に簡単にすることです。
これまでのところ、それは本当にスムーズな乗り心地であり、統合は順調に進んでいます。問題の優先順位、プロジェクト、問題の種類などのアイコンもJiraから取得して、概要をわかりやすく表示できるようにしました。画像ファイルを読み取るために、Pythonバインディング内で利用可能なCINEMA4D機能を使用しています。
現在の問題は、JiraのほとんどのアイコンがGIF形式で提供され、CINEMA 4D SDKがGIFファイルを直接読み取らないことです(実際には読み取りますが、ユーザーがロードできるようにバックドアからのみ読み取りますが、ロードできません) PythonまたはSDKを介してその機能を使用します)。したがって、GIFファイルを読み取る別の方法が必要です。
この方向に向かうstackoverflowに関するいくつかの質問がありますが、それらはすべてPILを推奨しているようです。これは、いくつかの理由で適切な解決策とは思えません。
- それは見栄えがしますが、標準のディストリビューションの一部ではなく、実際にはWindowsでのみ維持されているようです(Mac OS X用のビルドがありますが)。
- また、Pythonの現在のシステムインストールにインストールされているようですが、CINEMA 4Dには独自の機能が付属しているため、プラグインと一緒に配布する必要があります。
- そして、それは非常に大きいですが、私は本当にコンパクトなスクリプトにコンパクトなソリューションを持たせたいだけです(できれば箱から出してすぐに使用できますが、それはオプションではないようです)
もっと簡単な方法があるのか、少なくとももっとコンパクトな方法があるのだろうかと思っていました。GIFは比較的単純なファイル形式のように見えるので、Python関数/クラスとして単純なパーサーさえあるのではないかと思います。
誰かがgifファイルの埋め込みフレームを分解するリンクを見つけましたが、実際には画像の内容を取得していません:Python、gifフレームを取得する方法
自分で時間を割いても大丈夫です。ファイル形式が非圧縮の場合はすでにコーディングしていたはずですが、圧縮するとバーが少し上がるように見えるので、少し気が進まないです。