我从百度地图静态图API中通过url获取到的图片,用java有没有什么办法可以把图片上的百度logo去掉呢

求大神帮忙
2025-04-16 11:27:00
推荐回答(1个)
回答(1):

URL对象中前而几个方法都非常容易理解,而该对象提供的openStream()可以读取该 URL资源的InputStream,通过该方法可以非常方便地读取远程资源。
下面的程序示范如何通过URL类读取远程资源:
1)只显示网络图片

1)只显示网络图片

引用图片处理的java类:
package dujun.king.urlgetimage;

import java.io.InputStream;
import java.net.URL;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;

public class MainActivity extends Activity {

Bitmap bitmap;
ImageView imageview;

Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
if (msg.what==0x9527) {
//显示从网上下载的图片
imageview.setImageBitmap(bitmap);
}
}
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageview=(ImageView)findViewById(R.id.imageView1);
//创建并启动一个新线程用于从网络上下载图片
new Thread(){
@Override
public void run() {
try {
//创建一个url对象
URL url=new URL("http://www.baidu.com/img/bdlogo.png");
//打开URL对应的资源输入流
InputStream is= url.openStream();
//从InputStream流中解析出图片
bitmap = BitmapFactory.decodeStream(is);
// imageview.setImageBitmap(bitmap);
//发送消息,通知UI组件显示图片
handler.sendEmptyMessage(0x9527);
//关闭输入流
is.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}