というわけで、Androidでファイル共有アプリを使っています。サーバーにアップロードされる複製コピーを作成します。
問題
次のコードは、手動で作成した複製コピーに対して機能します。つまり、ファイルマネージャーを使用して、ファイルを長押しして同じディレクトリにコピーします。次に、私の関数は を返しますtrue
。アプリによる複製画像と元の画像を比較すると、false
.
MD5 チェックサムは異なるため、オプション外です。
コード
public boolean equals(Bitmap bitmap1, Bitmap bitmap2) {
ByteBuffer buffer1 = ByteBuffer.allocate(bitmap1.getHeight()
* bitmap1.getRowBytes());
bitmap1.copyPixelsToBuffer(buffer1);
ByteBuffer buffer2 = ByteBuffer.allocate(bitmap2.getHeight()
* bitmap2.getRowBytes());
bitmap2.copyPixelsToBuffer(buffer2);
return Arrays.equals(buffer1.array(), buffer2.array());
}
画像は次のとおりです。
私のコードは現在、これら 2 つの画像を比較しているときに false を返します。コードが true を返すようにするにはどうすればよいですか?