回答:
ただし、JPEGビューアーがSmartScale JPEG拡張をサポートしている場合のみ可能です。jpegtranは、N / 8のサイズ(N = 1..16)でこれを行うことができます。基本的に、DCTブロックサイズは再圧縮中に8x8から他のサイズ(4x4など)に変更され、画像を効果的にスケーリングします。
注:SmartScaleはlibjpegライブラリのバージョン8で導入されましたが、視聴者によって広くサポートされていません。
変更の詳細を説明するドキュメントは、JPEGの進化にあります。
編集:ほとんどの視聴者は、libjpeg-turboに基づいているため、これらの画像を実際に表示できないようです。また、libjpeg-turbo はこの機能を実装しないことを選択しました。実際、かなりの数のプログラム(Ubuntu 14.04およびWindows 8)を試しましたが、jpegtransを使用して作成された縮小画像を表示することはできませんでした。Photoshop、IrfanView、GIMPでさえ失敗しました。
編集2:実際には、UbuntuとFedoraはlibjpeg8ライブラリも出荷していませんが、libjpeg-turboバージョンに完全に置き換えています。そのため、どのプログラムもJPEG SmartScaleファイルを読み取れず、元のlibjpeg8ライブラリに静的にリンクされているいくつかのバイナリを保存できません。
短い答えはノーです。JPEGイメージは圧縮を使用します。つまり、各出力バイトは他のすべてのバイトに依存します。イメージのバイト数を変更する場合は、圧縮解除および再圧縮する必要があります。
JPEGは非可逆圧縮を使用するため、再圧縮の結果として品質が低下しますが、解像度を4分の1にすると品質が低下します。再圧縮時にJPEGの品質レベルを上げると、低解像度の画像から可能な限り最高の品質を得ることができますが、これによりファイルサイズが大きくなります。
画像で多くの作業を行う場合、PNGなどのロスレス圧縮形式で作業することをお勧めします。もちろん、余分なディスク容量がある場合は、画像が完成したときにのみJPEGに変換します。