我從Facebook獲取圖像並將其寫入SD卡,但圖像質量很低。以下是我的代碼來讀取和寫入:從Facebook獲取並寫入SD的圖像質量非常低。
try
{
URL url = new URL(murl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
data1 = String.valueOf(String.format(getActivity().getApplicationContext().getFilesDir()+"/Rem/%d.jpg",System.currentTimeMillis()));
FileOutputStream stream = new FileOutputStream(data1);
ByteArrayOutputStream outstream = new ByteArrayOutputStream();
myBitmap.compress(Bitmap.CompressFormat.JPEG, 100, outstream);
byte[] byteArray = outstream.toByteArray();
stream.write(byteArray);
stream.close();
}
catch (Exception e)
{
e.printStackTrace();
}
下面的代碼我用來顯示相同的圖像:即使使用選項後
File IMG_FILE = new File(IMAGE_CONTENT);
B2.setVisibility(View.INVISIBLE);
Options options = new BitmapFactory.Options();
options.inScaled = false;
options.inDither = false;
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(IMG_FILE.getAbsolutePath(),options);
iM.setImageBitmap(bitmap);
質量仍然較低。可以做些什麼來改善這一點?
我的要求是保存它,因爲我的列表中的一些其他圖像是從內存中顯示的,並且在網絡和內存之間交換會使我的列表無效。 – Skynet
使用上面的代碼將圖像保存到SD卡從web url.in上面的代碼中,您將圖像保存爲原始byte.so,您的圖像質量將不會降低。 – Ruban
我在上面,謝謝隊友:) – Skynet