关于在WPF中使用Image控件显示System.Drawing.Bitmap和wpf使用image控件显示图片的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.net–WPF中的Bitm
关于在WPF中使用Image控件显示System.Drawing.Bitmap和wpf使用image控件显示图片的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.net – WPF中的BitmapImage会锁定文件、.net – 如何在WPF中使用DrawThemeTextEx、Android ImageView setImageBitmap 不显示图片、android – 删除Glide设置的图像并使用imageView.setImageBitmap()等相关知识的信息别忘了在本站进行查找喔。
本文目录一览:- 在WPF中使用Image控件显示System.Drawing.Bitmap(wpf使用image控件显示图片)
- .net – WPF中的BitmapImage会锁定文件
- .net – 如何在WPF中使用DrawThemeTextEx
- Android ImageView setImageBitmap 不显示图片
- android – 删除Glide设置的图像并使用imageView.setImageBitmap()
在WPF中使用Image控件显示System.Drawing.Bitmap(wpf使用image控件显示图片)
如何在WPF 中将内存Bitmap
对象分配给Image
控件?
答案1
小编典典您可以使用图像的Source属性。试试这个代码…
ImageSource imageSource = new BitmapImage(new Uri("C:\\FileName.gif"));image1.Source = imageSource;
.net – WPF中的BitmapImage会锁定文件
Dim bmi As New BitmapImage(New Uri(fiInfo.FullName,UriKind.Absolute)) bmi.CacheOption = BitmapCacheOption.OnLoad
这不是Use OnLoad
并且文件仍被锁定以覆盖硬盘.任何想法如何解锁?
问候
Dim bmi As New BitmapImage() bmi.BeginInit() bmi.CacheOption = BitmapCacheOption.OnLoad bmi.UriSource = New Uri(fiInfo.FullName,UriKind.Absolute) bmi.EndInit()
.net – 如何在WPF中使用DrawThemeTextEx
在搜索解决方案时,我遇到了DWMApi中的原生DrawThemeTextEx,但我找到的所有示例都是针对WinForms而不是针对WPF.
那么如何在WPF中使用它呢?
谢谢
解决方法
.NET 4中的以下效果接近Aero玻璃文本并替换了BitmapEffects.
<Decorator> <Decorator.Effect> <DropShadowEffect BlurRadius="10" Color="White" ShadowDepth="0" /> </Decorator.Effect> </Decorator>
Android ImageView setImageBitmap 不显示图片
从sd卡里读出图片后有时调用setImageBitmap(bitmap)方法会显示不出图片,仔细考虑过后原来是加载的图片过大导致的,解决办法为:
BitmapFactory.Options op = new BitmapFactory.Options();
op.inSampleSize = 2;
//op.inJustDecodeBounds = true; //它仅仅会把它的宽,高取回来给你,这样就不会占用太多的内存,也就不会那么频繁的发生OOM了。
//op.inPreferredConfig = Bitmap.Config.ARGB_4444; // 默认是Bitmap.Config.ARGB_8888
private Bitmap createBitmapFromByteData(byte[] data ,Options options){
Bitmap bitmap = null;
if(options == null){
bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
}else{
bitmap = BitmapFactory.decodeByteArray(data, 0, data.length, options);
}
return bitmap;
}
这样返回的bitmap就可以被显示出来了。
android – 删除Glide设置的图像并使用imageView.setImageBitmap()
以下是我到目前为止所尝试的内容
onActivityResult()
@Override public void onActivityResult(int requestCode,int resultCode,Intent data) { super.onActivityResult(requestCode,resultCode,data); if (resultCode == Activity.RESULT_OK) { if (requestCode == SELECT_FILE) onSelectFromgalleryResult(data); else if (requestCode == REQUEST_CAMERA) // onCaptureImageResult((Bitmap) data.getExtras().get("data")); onCaptureImageResult(data); } } private void onCaptureImageResult(Intent data) { if (data != null) { mImageUri = Uri.parse("file://" + data.getStringExtra(CameraConfiguration.Arguments.FILE_PATH)); } try { bitmap_image = MediaStore.Images.Media.getBitmap(mContext.getContentResolver(),mImageUri); ByteArrayOutputStream bytes = new ByteArrayOutputStream(); bitmap_image.compress(Bitmap.CompressFormat.JPEG,60,bytes); bitmap_image = Bitmap.createScaledBitmap(bitmap_image,(int) (bitmap_image.getWidth() * 0.5),(int) (bitmap_image.getHeight() * 0.5),true); ExifInterface ei = new ExifInterface(data.getStringExtra(CameraConfiguration.Arguments.FILE_PATH)); int orientation = ei.getAttributeInt(ExifInterface.TAG_ORIENTATION,ExifInterface.ORIENTATION_UNDEFINED); switch (orientation) { case ExifInterface.ORIENTATION_ROTATE_90: bitmap_image = (SnappyUtils.rotateImage(bitmap_image,90)); break; case ExifInterface.ORIENTATION_ROTATE_180: bitmap_image = (SnappyUtils.rotateImage(bitmap_image,180)); break; case ExifInterface.ORIENTATION_ROTATE_270: bitmap_image = (SnappyUtils.rotateImage(bitmap_image,270)); break; case ExifInterface.ORIENTATION_norMAL: default: break; } } catch (IOException e) { e.printstacktrace(); Log.d("exception",e.toString()); } ////////////////////// it is showing on iv_logo2 as expected as it does not has anything set by glide////////////////////////////////////////////////////////////////// iv_logo.setBackground(null); iv_logo.setimageBitmap(bitmap_image); iv_logo2.setimageBitmap(bitmap_image); ///////////////////////////tried added this by seeing other SO posts ////////////////////////////////////////////////////////////////// Glide.with(mContext) .load(mImageUri) .signature(new StringSignature(String.valueOf(System.currentTimeMillis()))) .diskCacheStrategy(diskCacheStrategy.NONE) .skipMemoryCache(true) .into(iv_logo); }
另请注意,这与删除Glide的缓存不同
解决方法
asynchtask下载图片
private class Getimages extends AsyncTask<Object,Object,Object> { private String requestUrl,imagename_; private ImageView view; private Bitmap bitmap; private FileOutputStream fos; private Getimages(String requestUrl,ImageView view,String _imagename_) { this.requestUrl = requestUrl; this.view = view; this.imagename_ = _imagename_; } @Override protected Object doInBackground(Object... objects) { try { URL url = new URL(requestUrl); URLConnection conn = url.openConnection(); bitmap = BitmapFactory.decodeStream(conn.getInputStream()); } catch (Exception ex) { ex.printstacktrace(); } return null; } @Override protected void onPostExecute(Object o) { view.setimageBitmap(bitmap); } }
今天关于在WPF中使用Image控件显示System.Drawing.Bitmap和wpf使用image控件显示图片的分享就到这里,希望大家有所收获,若想了解更多关于.net – WPF中的BitmapImage会锁定文件、.net – 如何在WPF中使用DrawThemeTextEx、Android ImageView setImageBitmap 不显示图片、android – 删除Glide设置的图像并使用imageView.setImageBitmap()等相关知识,可以在本站进行查询。
本文标签: