正如标题本身所暗示的那样......我必须首先自动调整对比度、亮度和锐度,然后如果需要,我必须提供手动调整搜索栏。
是否有任何库可用于自动调整?
我正在尝试从数组创建 HBITMAP,其中包含像素的颜色值。问题是,当我尝试创建 24-bpp 位图时,CreateDIBItmap 使用的是 BGR 值,而不是我想要的 RGB 值。
创建Bitmap的代码如下:
image_size = 600 * 600 * 3;
aimp_buffer = (char *)malloc(image_size * sizeof(char));
for (counter = 0; counter < image_size;)
{
aimp_buffer[counter++] = 255;
aimp_buffer[counter++] = 0;
aimp_buffer[counter++] = 0;
}
ads_scrbuf->avo_buffer = (void *)aimp_buffer;
ads_scrbuf->im_height = 600;
ads_scrbuf->im_width = 600;
ads_scrbuf->im_scanline = 600;
memset(&info, 0, sizeof(info));
memset(&info.bmiHeader, 0, sizeof(info.bmiHeader));
info.bmiHeader.biBitCount = 24;
info.bmiHeader.biHeight= -600;
info.bmiHeader.biWidth= 600;
info.bmiHeader.biSize = sizeof(info.bmiHeader);
info.bmiHeader.biPlanes = 1;
info.bmiHeader.biCompression = BI_RGB;
memset(&header, 0, sizeof(BITMAPV5HEADER));
header.bV5Width …Run Code Online (Sandbox Code Playgroud) 如何获取 System.Windows.Media.Imaging.BitmapImage 支持的图像格式列表?
我正在用 C# WPF 编写一个简单的图像处理工具。BitmapImage 类是更有用的位图类之一,因为它能够从多种格式进行解码。
特别是,它可以在我的电脑上打开 NEF(尼康的 RAW 格式)。BitmapImage 很可能可以打开来自其他制造商的各种 RAW 格式,这是我热衷于使用的功能。
由于我不知道可以作为 BitmapImage 打开的每种格式,我目前正在使用 try/catch 尝试从用户尝试打开的每个文件构建 BitmapImage。这显然不是最有效的方式。
据我所知,BitmapImage 继承自 BitmapSource,BitmapSource通过查看用户系统的可用编解码器来决定它可以打开哪些文件。因此,编解码器的可用性可能因机器而异,这意味着无法将支持的格式列表硬编码到程序中。我需要一种方法来检查用户机器上支持的这些格式是什么。
我在 System.Drawing 中找到了这个方法。这将返回支持的编解码器列表以及支持的文件扩展名列表,Systems.Windows.Media.Imaging 的等效项正是我所需要的。
我正在将 .NET Framework 项目移植到 .NET Core 2.0,但我在使用 BitmapImage 类时遇到了困难。我知道.NET Framework 中的BitmapImage 是PresentationCore 程序集的一部分,但在.NET Core 中我无法添加任何这些。另外,我也搜索过支持它的软件包,但也找不到。在.NET Framework中它是System.Windows.Media的一部分,但.NET Core没有这样的包。
您对我如何解决这个问题有什么想法吗?
从我的程序集(A)我想调用一个传递图像的另一个程序集(B)中的方法.然后在WPF窗口中显示该图像 - 该窗口是B项目的一部分.
我似乎无法使用pack:// uri传递一个ImageSource,因为这会在B的上下文中进行评估,所以我想我还需要在A中使用CachedBitmap(?)来缓存图像.
BitmapImage img = new BitmapImage(new Uri("Images/32px-Nuvola_apps_cache.png", UriKind.Relative));
CachedBitmap cbmp = new CachedBitmap(img, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
Run Code Online (Sandbox Code Playgroud)
如果我将图像设置为嵌入式资源并将其作为流加载,我已设法使其工作,但这不是WPF方式.
从包装中可以看出:我应该能够做到这一点的文档,但是我在下面尝试了这些并且没有工作;
"Images/32px-Nuvola_apps_cache.png":"找不到路径的一部分" "pack:// application:,,, Images/32px-Nuvola_apps_cache.png":"无法识别URI前缀." ."pack:// siteoforigin:,,, Images/32px-Nuvola_apps_cache.png":"无法识别URI前缀."
我想要做的就是将一个Resource .png文件加载到内存中并将其批量传递给另一个程序集中的方法.
谢谢保罗.
我有一个BitmapImage对象,其中包含600 X 400维度的图像.现在从我的C#代码后面,我需要创建两个新的BitmapImage对象,比如每个尺寸为600 X 200的objA和objB,使得objA包含上半部分裁剪图像,objB包含原始图像的下半部分裁剪图像.
如何从BitmapImage获取BitmapSource?或者如何直接将BitmapImage转换为BitmapFrame?在我看来,如果我有BitmapSource,我可以使用BitmapFrame.Create,最后从给定的BitmapImage获取BitmapFrame对象
这段代码向我显示一个错误,我想将所选图像保存到数据库并进行检索我遵循这两个教程http://nizaqatali.wordpress.com/2011/06/21/android-dialog-select-image-from-gallery/ 这个 http://androidhub4you.blogspot.com/2012/09/hello-friends-today-i-am-going-to-share.html 但是这个问题出现了错误信息"方法压缩(Bitmap.CompressFormat,int ,ByteArrayOutputStream)未定义类型Uri"
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
public class SQLiteDemoActivity extends Activity {
final int SELECT_PHOTO = 0;
ArrayList<Contact> imageArry = new ArrayList<Contact>();
ContactImageAdapter adapter;
Button BrowseButton;
DataBaseHandler db;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
db = new DataBaseHandler(this);
//get image from drawable
//Bitmap image = …Run Code Online (Sandbox Code Playgroud) 我正在尝试下载图像,并在完成时触发事件.我用这个:
BitmapImage btest = new BitmapImage(new Uri("http://www.google.com/images/srpr/logo4w.png"));
btest.ImageOpened += btest_ImageOpened;
void btest_ImageOpened(object sender, RoutedEventArgs e)
{
throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
但是,该ImageOpened事件不会发生.如果我将Image Control的源设置为BitmapImageusing:
image.Source = btest;
Run Code Online (Sandbox Code Playgroud)
它确实很火.ImageOpened除非将BitmapImage发件人设置为图像的来源,为什么不会触发事件?
我正在创建缩略图并使用此代码在框架中显示
平台 - >使用c#的windows 8 metro应用程序
http://code.msdn.microsoft.com/windowsapps/File-and-folder-thumbnail-1d530e5d
在使用c#的windows 8 metro应用程序中.我需要保存或存储(在设备中)我在运行时创建的缩略图.在constants.cs类文件的DisplayResult()中,我需要在设备中保存该图像如何实现这一点.请给我一些想法或示例我是移动设备的新手,从未参与过图像和缩略图部分.提前致谢 .
bitmapimage microsoft-metro windows-8 windows-runtime winrt-xaml
bitmapimage ×10
c# ×5
wpf ×3
.net ×2
android ×2
bitmap ×2
asp.net-core ×1
bgr ×1
c ×1
compression ×1
java ×1
rgb ×1
winapi ×1
windows-8 ×1
winrt-xaml ×1