代码如下,用这种方式调QQ,微信就不存在这么严重的失真现象。

private String imageUrl = null;
private void weiboShare(){
if (!weiboAppInstalled) {
T.showShort(this, "未安装新浪微博手机客户端");
return;
}
WeiboMessage weiboMessage = new WeiboMessage();
weiboMessage.mediaObject = ShareDialog.getImageOfPath(imageUrl);
// 2. 初始化从第三方到微博的消息请求
SendMessageToWeiboRequest request = new SendMessageToWeiboRequest();
// 用transaction唯一标识一个请求
request.transaction = String.valueOf(System.currentTimeMillis());
request.message = weiboMessage;
// 3. 发送请求消息到微博,唤起微博分享界面
weiboAPI.sendRequest(SaActivity.this,request);
}
public static ImageObject getImageOfPath(String imageUrl){
Bitmap bmp = BitmapFactory.decodeFile(imageUrl);
ImageObject imageObject = new ImageObject();
int bmpW = 150;
int bmpH = bmp.getHeight()*bmpW / bmp.getWidth();
Bitmap bitmap = Bitmap.createScaledBitmap(bmp,bmpW,bmpH,true);
imageObject.setImageObject(bitmap);
return imageObject;
}