Java源码示例:com.easemob.util.ImageUtils
示例1
@Override
protected Bitmap doInBackground(Object... args) {
thumbnailPath = (String) args[0];
localFullSizePath = (String) args[1];
remotePath = (String) args[2];
chatType = (ChatType) args[3];
iv = (ImageView) args[4];
// if(args[2] != null) {
activity = (Activity) args[5];
// }
message = (EMMessage) args[6];
File file = new File(thumbnailPath);
if (file.exists()) {
return ImageUtils.decodeScaleImage(thumbnailPath, 160, 160);
} else {
if (message.direct == EMMessage.Direct.SEND) {
return ImageUtils.decodeScaleImage(localFullSizePath, 160, 160);
} else {
return null;
}
}
}
示例2
@Override
protected Bitmap doInBackground(Object... args) {
thumbnailPath = (String) args[0];
localFullSizePath = (String) args[1];
remotePath = (String) args[2];
chatType = (ChatType) args[3];
iv = (ImageView) args[4];
// if(args[2] != null) {
activity = (Activity) args[5];
// }
message = (EMMessage) args[6];
File file = new File(thumbnailPath);
if (file.exists()) {
return ImageUtils.decodeScaleImage(thumbnailPath, 160, 160);
} else {
if (message.direct == EMMessage.Direct.SEND) {
return ImageUtils.decodeScaleImage(localFullSizePath, 160, 160);
} else {
return null;
}
}
}
示例3
@Override
protected void onPreExecute() {
super.onPreExecute();
int degree = ImageUtils.readPictureDegree(path);
if (degree != 0) {
pb.setVisibility(View.VISIBLE);
photoView.setVisibility(View.INVISIBLE);
} else {
pb.setVisibility(View.INVISIBLE);
photoView.setVisibility(View.VISIBLE);
}
}
示例4
/**
* 展示视频缩略图
*
* @param localThumb
* 本地缩略图路径
* @param iv
* @param thumbnailUrl
* 远程缩略图路径
* @param message
*/
private void showVideoThumbView(final String localThumb, final ImageView iv, String thumbnailUrl, final EMMessage message) {
// first check if the thumbnail image already loaded into cache
Bitmap bitmap = EaseImageCache.getInstance().get(localThumb);
if (bitmap != null) {
// thumbnail image is already loaded, reuse the drawable
iv.setImageBitmap(bitmap);
} else {
new AsyncTask<Void, Void, Bitmap>() {
@Override
protected Bitmap doInBackground(Void... params) {
if (new File(localThumb).exists()) {
return ImageUtils.decodeScaleImage(localThumb, 160, 160);
} else {
return null;
}
}
@Override
protected void onPostExecute(Bitmap result) {
super.onPostExecute(result);
if (result != null) {
EaseImageCache.getInstance().put(localThumb, result);
iv.setImageBitmap(result);
} else {
if (message.status == EMMessage.Status.FAIL) {
if (EaseCommonUtils.isNetWorkConnected(activity)) {
EMChatManager.getInstance().asyncFetchMessage(message);
}
}
}
}
}.execute();
}
}
示例5
@Override
protected Bitmap doInBackground(Object... params) {
thumbnailPath = (String) params[0];
thumbnailUrl = (String) params[1];
iv = (ImageView) params[2];
activity = (Activity) params[3];
message = (EMMessage) params[4];
adapter = (BaseAdapter) params[5];
if (new File(thumbnailPath).exists()) {
return ImageUtils.decodeScaleImage(thumbnailPath, 120, 120);
} else {
return null;
}
}
示例6
@Override
protected void onPreExecute() {
super.onPreExecute();
int degree = ImageUtils.readPictureDegree(path);
if (degree != 0) {
pb.setVisibility(View.VISIBLE);
photoView.setVisibility(View.INVISIBLE);
} else {
pb.setVisibility(View.INVISIBLE);
photoView.setVisibility(View.VISIBLE);
}
}
示例7
@Override
protected void onPreExecute() {
super.onPreExecute();
int degree = ImageUtils.readPictureDegree(path);
if (degree != 0) {
pb.setVisibility(View.VISIBLE);
photoView.setVisibility(View.INVISIBLE);
} else {
pb.setVisibility(View.INVISIBLE);
photoView.setVisibility(View.VISIBLE);
}
}
示例8
@Override
protected Bitmap doInBackground(Void... params) {
Bitmap bitmap = ImageUtils.decodeScaleImage(path, width, height);
return bitmap;
}
示例9
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.ease_activity_show_big_image);
super.onCreate(savedInstanceState);
image = (EasePhotoView) findViewById(R.id.image);
loadLocalPb = (ProgressBar) findViewById(R.id.pb_load_local);
default_res = getIntent().getIntExtra("default_image", R.drawable.ease_default_avatar);
Uri uri = getIntent().getParcelableExtra("uri");
String remotepath = getIntent().getExtras().getString("remotepath");
String secret = getIntent().getExtras().getString("secret");
EMLog.d(TAG, "show big image uri:" + uri + " remotepath:" + remotepath);
//本地存在,直接显示本地的图片
if (uri != null && new File(uri.getPath()).exists()) {
EMLog.d(TAG, "showbigimage file exists. directly show it");
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
// int screenWidth = metrics.widthPixels;
// int screenHeight =metrics.heightPixels;
bitmap = EaseImageCache.getInstance().get(uri.getPath());
if (bitmap == null) {
EaseLoadLocalBigImgTask task = new EaseLoadLocalBigImgTask(this, uri.getPath(), image, loadLocalPb, ImageUtils.SCALE_IMAGE_WIDTH,
ImageUtils.SCALE_IMAGE_HEIGHT);
if (android.os.Build.VERSION.SDK_INT > 10) {
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
} else {
task.execute();
}
} else {
image.setImageBitmap(bitmap);
}
} else if (remotepath != null) { //去服务器下载图片
EMLog.d(TAG, "download remote image");
Map<String, String> maps = new HashMap<String, String>();
if (!TextUtils.isEmpty(secret)) {
maps.put("share-secret", secret);
}
downloadImage(remotepath, maps);
} else {
image.setImageResource(default_res);
}
image.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
示例10
/**
* 下载图片
*
* @param remoteFilePath
*/
private void downloadImage(final String remoteFilePath, final Map<String, String> headers) {
String str1 = getResources().getString(R.string.Download_the_pictures);
pd = new ProgressDialog(this);
pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
pd.setCanceledOnTouchOutside(false);
pd.setMessage(str1);
pd.show();
localFilePath = getLocalFilePath(remoteFilePath);
final EMCallBack callback = new EMCallBack() {
public void onSuccess() {
runOnUiThread(new Runnable() {
@Override
public void run() {
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenWidth = metrics.widthPixels;
int screenHeight = metrics.heightPixels;
bitmap = ImageUtils.decodeScaleImage(localFilePath, screenWidth, screenHeight);
if (bitmap == null) {
image.setImageResource(default_res);
} else {
image.setImageBitmap(bitmap);
EaseImageCache.getInstance().put(localFilePath, bitmap);
isDownloaded = true;
}
if (pd != null) {
pd.dismiss();
}
}
});
}
public void onError(int error, String msg) {
EMLog.e(TAG, "offline file transfer error:" + msg);
File file = new File(localFilePath);
if (file.exists()&&file.isFile()) {
file.delete();
}
runOnUiThread(new Runnable() {
@Override
public void run() {
pd.dismiss();
image.setImageResource(default_res);
}
});
}
public void onProgress(final int progress, String status) {
EMLog.d(TAG, "Progress: " + progress);
final String str2 = getResources().getString(R.string.Download_the_pictures_new);
runOnUiThread(new Runnable() {
@Override
public void run() {
pd.setMessage(str2 + progress + "%");
}
});
}
};
EMChatManager.getInstance().downloadFile(remoteFilePath, localFilePath, headers, callback);
}
示例11
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_show_big_image);
super.onCreate(savedInstanceState);
image = (PhotoView) findViewById(R.id.image);
loadLocalPb = (ProgressBar) findViewById(R.id.pb_load_local);
default_res = getIntent().getIntExtra("default_image", R.drawable.default_avatar);
Uri uri = getIntent().getParcelableExtra("uri");
String remotepath = getIntent().getExtras().getString("remotepath");
String secret = getIntent().getExtras().getString("secret");
System.err.println("show big image uri:" + uri + " remotepath:" + remotepath);
//本地存在,直接显示本地的图片
if (uri != null && new File(uri.getPath()).exists()) {
System.err.println("showbigimage file exists. directly show it");
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
// int screenWidth = metrics.widthPixels;
// int screenHeight =metrics.heightPixels;
bitmap = ImageCache.getInstance().get(uri.getPath());
if (bitmap == null) {
LoadLocalBigImgTask task = new LoadLocalBigImgTask(this, uri.getPath(), image, loadLocalPb, ImageUtils.SCALE_IMAGE_WIDTH,
ImageUtils.SCALE_IMAGE_HEIGHT);
if (android.os.Build.VERSION.SDK_INT > 10) {
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
} else {
task.execute();
}
} else {
image.setImageBitmap(bitmap);
}
} else if (remotepath != null) { //去服务器下载图片
System.err.println("download remote image");
Map<String, String> maps = new HashMap<String, String>();
if (!TextUtils.isEmpty(secret)) {
maps.put("share-secret", secret);
}
downloadImage(remotepath, maps);
} else {
image.setImageResource(default_res);
}
image.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
示例12
/**
* 下载图片
*
* @param remoteFilePath
*/
private void downloadImage(final String remoteFilePath, final Map<String, String> headers) {
pd = new ProgressDialog(this);
pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
pd.setCanceledOnTouchOutside(false);
pd.setMessage("下载图片: 0%");
pd.show();
localFilePath = getLocalFilePath(remoteFilePath);
final HttpFileManager httpFileMgr = new HttpFileManager(this, EMChatConfig.getInstance().getStorageUrl());
final CloudOperationCallback callback = new CloudOperationCallback() {
public void onSuccess(String resultMsg) {
runOnUiThread(new Runnable() {
@Override
public void run() {
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenWidth = metrics.widthPixels;
int screenHeight = metrics.heightPixels;
bitmap = ImageUtils.decodeScaleImage(localFilePath, screenWidth, screenHeight);
if (bitmap == null) {
image.setImageResource(default_res);
} else {
image.setImageBitmap(bitmap);
ImageCache.getInstance().put(localFilePath, bitmap);
isDownloaded = true;
}
if (pd != null) {
pd.dismiss();
}
}
});
}
public void onError(String msg) {
Log.e("###", "offline file transfer error:" + msg);
File file = new File(localFilePath);
if (file.exists()&&file.isFile()) {
file.delete();
}
runOnUiThread(new Runnable() {
@Override
public void run() {
pd.dismiss();
image.setImageResource(default_res);
}
});
}
public void onProgress(final int progress) {
Log.d("ease", "Progress: " + progress);
runOnUiThread(new Runnable() {
@Override
public void run() {
pd.setMessage("下载图片: " + progress + "%");
}
});
}
};
new Thread(new Runnable() {
@Override
public void run() {
httpFileMgr.downloadFile(remoteFilePath, localFilePath, headers, callback);
}
}).start();
}
示例13
@Override
protected Bitmap doInBackground(Void... params) {
Bitmap bitmap = ImageUtils.decodeScaleImage(path, width, height);
return bitmap;
}
示例14
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_show_big_image);
super.onCreate(savedInstanceState);
image = (PhotoView) findViewById(R.id.image);
loadLocalPb = (ProgressBar) findViewById(R.id.pb_load_local);
default_res = getIntent().getIntExtra("default_image", R.drawable.ic_avatar);
Uri uri = getIntent().getParcelableExtra("uri");
String remotepath = getIntent().getExtras().getString("remotepath");
String secret = getIntent().getExtras().getString("secret");
System.err.println("show big image uri:" + uri + " remotepath:" + remotepath);
//本地存在,直接显示本地的图片
if (uri != null && new File(uri.getPath()).exists()) {
System.err.println("showbigimage file exists. directly show it");
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
// int screenWidth = metrics.widthPixels;
// int screenHeight =metrics.heightPixels;
bitmap = ImageCache.getInstance().get(uri.getPath());
if (bitmap == null) {
LoadLocalBigImgTask task = new LoadLocalBigImgTask(this, uri.getPath(), image, loadLocalPb, ImageUtils.SCALE_IMAGE_WIDTH,
ImageUtils.SCALE_IMAGE_HEIGHT);
if (android.os.Build.VERSION.SDK_INT > 10) {
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
} else {
task.execute();
}
} else {
image.setImageBitmap(bitmap);
}
} else if (remotepath != null) { //去服务器下载图片
System.err.println("download remote image");
Map<String, String> maps = new HashMap<String, String>();
if (!TextUtils.isEmpty(secret)) {
maps.put("share-secret", secret);
}
downloadImage(remotepath, maps);
} else {
image.setImageResource(default_res);
}
image.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
示例15
/**
* 下载图片
*
* @param remoteFilePath
*/
private void downloadImage(final String remoteFilePath, final Map<String, String> headers) {
String str1 = getResources().getString(R.string.Download_the_pictures);
pd = new ProgressDialog(this);
pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
pd.setCanceledOnTouchOutside(false);
pd.setMessage(str1);
pd.show();
localFilePath = getLocalFilePath(remoteFilePath);
final HttpFileManager httpFileMgr = new HttpFileManager(this, EMChatConfig.getInstance().getStorageUrl());
final CloudOperationCallback callback = new CloudOperationCallback() {
public void onSuccess(String resultMsg) {
runOnUiThread(new Runnable() {
@Override
public void run() {
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenWidth = metrics.widthPixels;
int screenHeight = metrics.heightPixels;
bitmap = ImageUtils.decodeScaleImage(localFilePath, screenWidth, screenHeight);
if (bitmap == null) {
image.setImageResource(default_res);
} else {
image.setImageBitmap(bitmap);
ImageCache.getInstance().put(localFilePath, bitmap);
isDownloaded = true;
}
if (pd != null) {
pd.dismiss();
}
}
});
}
public void onError(String msg) {
Log.e("###", "offline file transfer error:" + msg);
File file = new File(localFilePath);
if (file.exists()&&file.isFile()) {
file.delete();
}
runOnUiThread(new Runnable() {
@Override
public void run() {
pd.dismiss();
image.setImageResource(default_res);
}
});
}
public void onProgress(final int progress) {
Log.d("ease", "Progress: " + progress);
final String str2 = getResources().getString(R.string.Download_the_pictures_new);
runOnUiThread(new Runnable() {
@Override
public void run() {
pd.setMessage(str2 + progress + "%");
}
});
}
};
new Thread(new Runnable() {
@Override
public void run() {
httpFileMgr.downloadFile(remoteFilePath, localFilePath, headers, callback);
}
}).start();
}
示例16
@Override
protected Bitmap doInBackground(Void... params) {
Bitmap bitmap = ImageUtils.decodeScaleImage(path, width, height);
return bitmap;
}