Articles of image

来自URL的Android Drawable图像

我目前正在使用以下代码将图像作为可绘制对象加载到URL中。 Drawable drawable_from_url(String url, String src_name) throws java.net.MalformedURLException, java.io.IOException { return Drawable.createFromStream(((java.io.InputStream)new java.net.URL(url).getContent()), src_name); } 此代码完全按照需要工作,但似乎存在兼容性问题。 在1.5版本中,当我给它一个URL时,它会抛出一个FileNotFoundException 。 在2.2中,给定完全相同的URL,它工作正常。 以下URL是我提供此function的示例输入。 http://bks6.books.google.com/books?id=aH7BPTrwNXUC&printsec=frontcover&img=1&zoom=5&edge=curl&sig=ACfU3U2aQRnAX2o2ny2xFC1GmVn22almpg 如何以一种从URL兼容的方式加载图像?

知道ListView中的View何时离开屏幕?

我用谷歌搜索但找不到答案,所以这里…… 我有一个ListView,显示一些文本和图像。 底层适配器出于性能原因(根据推荐的方法)回收视图,并根据Android Developers网站位图页面上的建议使用AsynchTask加载图像。 一切都很顺利,但我有一个问题。 当适配器中的视图被回收时,它仍然具有对旧图像(ImageView)的引用。 如果用户缓慢滚动,则AsynchTask有足够的时间加载新图像并显示它,因此没有可见的新图像重新加载到用户。 但是,如果用户滚动非常快,加载图像的延迟意味着他们在被新图像替换之前看到旧图像(在View被另一个项目使用时加载)。 所以,我的问题是,如何检测屏幕上何时不再显示视图,以便我可以删除图像? 这意味着用户会看到一个空的列表视图项,最终将加载适当的图像,这看起来会更好。 提前谢谢了。 这是列表视图适配器代码。 @Override public View getView(int position, View convertView, ViewGroup parent) { View view = convertView; ListViewHolder viewHolder; // if this is not a recycled view then create a new view for the data… if (view == null) { view = this.inflater.inflate(R.layout.target_list_view_layout, null, true); viewHolder […]

Android:从资源/可绘制文件夹访问图像

我目前正在处理的应用程序有数百张图片。 目前我将它们存储在’Drawable’文件夹中。 我正考虑将所有这些文件移到Assets文件夹中。 我的问题是:使用这两种方法时,性能有什么不同吗?

如何为所有Android分辨率准备图像?

在iOS中,准备图形很简单。 有正常图像(高x宽)或视网膜图像@ 2x(高2倍×宽2倍)。 但是,由于我是Android新手,我在Eclipse中看到了大量的drawable- *文件夹,其中*可以是“hdpi”或“ldpi”或“mdpi”或“xhdpi”或“xxhdpi”。 有人可以非常清楚地简单地列出我必须做些什么来满足每种显示可能性,这样我的图像在每个实例中看起来都是正确的吗? 我想象一个答案将是一个列出每个“*”的子弹列表和一个包含必须完成的事情的子弹列表。 我也非常喜欢从最高密度和最大尺寸图像开始的答案,因为我将在Photoshop中创建并且将从主图像中降低质量。 提前致谢!

如何在我的滚动视图中调整我的imageview大小,就像在此图像中完成一样?

我创建了一个scrollview,并在其中放置了一个imageview。 我想滚动它以与下图中所做的相同的方式resize,但到目前为止我没有取得什么成功。 在我的尝试中,图像在滚动时resize,但是在resize后仍留有空间。 你会如何修改以下内容: 图片: 我的代码到目前为止: activity_main.xml中 主要活动: @Override public void onScrollChanged(ObservableScrollView scrollView, int x, int y, int oldx, int oldy) { final ImageView contactPicture = (ImageView) findViewById(R.id.contactPic); final RelativeLayout contactLayout = (RelativeLayout) findViewById(R.id.ContactRLayout); if (scrollView == contactScrollView) { View view = (View) scrollView.getChildAt(scrollView.getChildCount() – 1); int distanceFromPageEnd = (view.getBottom() – (scrollView.getHeight() + scrollView.getScrollY())); Log.e(“onScrollChanged”, […]

android Imagebutton更改图像OnClick

我刚刚在res文件夹下添加了一个新的drawable文件夹。 在drawable文件夹中,我从drawable-hdpi文件夹中复制了ic_launcher.png文件。 当我按下按钮时,我想通过新的图像更改标准的ImageButton图像。 我写了一些代码,但是当我启动应用程序时它会崩溃。 Button imgButton; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.imgButton).setOnClickListener(imgButtonHandler); } View.OnClickListener imgButtonHandler = new View.OnClickListener() { public void onClick(View v) { imgButton.setBackgroundResource(R.drawable.ic_launcher); } }; 编辑:我改为这个,这也行不通。 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imgButton = (Button) findViewById(R.id.imgButton); imgButton.setOnClickListener(imgButtonHandler); } View.OnClickListener imgButtonHandler = new View.OnClickListener() { public void onClick(View v) { […]

Android开发:在WebView的HTML中使用来自资产的图像

在我的应用程序中,我正在制作基本的HTML帮助文档。 我想在HTML img标签中使用我的应用程序徽标,但我不知道如何引用将存储在资产中的徽标。 这有可能,如果是这样的话怎么样? 谢谢您的帮助!

如何在android中选择和裁剪图像?

嘿,我目前正在制作一个动态壁纸,我允许用户选择一个将落后于我的效果的图像。 目前我有: Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); i.putExtra(“crop”, “true”); startActivityForResult(i, 1); 稍微下: @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 1) if (resultCode == Activity.RESULT_OK) { Uri selectedImage = data.getData(); Log.d(“IMAGE SEL”, “” + selectedImage); // TODO Do something with the select image URI SharedPreferences customSharedPreference […]

使用libyuv库缩放YUV图像时出现的问题

我正在开发基于Camera API 2的相机应用程序,我发现使用libyuv有几个问题。 我想转换从ImageReader中检索到的YUV_420_888图像,但是我在可YUV_420_888处理的表面中进行缩放时遇到了一些问题。 本质上:图像以绿色调而不是具有相应的音调(我正在导出.yuv文件并使用http://rawpixels.net/检查它们)。 您可以在此处查看输入示例: 我执行缩放后得到的结果: 我认为我在步幅方面做错了,或提供了无效的YUV格式(也许我必须将图像转换为另一种格式?)。 但是,我无法弄清楚错误在哪里,因为我不知道如何将绿色与缩放算法相关联。 这是我正在使用的转换代码,您可以忽略返回NULL,因为有进一步的处理与问题无关。 #include #include #include #include #include #include #define LOG_TAG “libyuv-jni” #define unused(x) UNUSED_ ## x __attribute__((__unused__)) #define LOGD(…) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__) #define LOGE(…) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS_) struct YuvFrame { int width; int height; uint8_t *data; uint8_t *y; uint8_t *u; uint8_t *v; }; static struct YuvFrame i420_input_frame; […]

如何在Android上的ImageView中绘制一条线?

我想知道如何在用户滑动手指时在ImageView上绘制一条线? 有没有人能解释这一点? 或者也许任何链接来开始这个。