首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

.net下灰度模式图像在创建Graphics时出现:无法从带有索引像素格式图像创建graphics对象 问题解决方案。

在.net下,如果你加载了一副8位灰度图像,然后想向其中绘制一些线条、或者填充一些矩形、椭圆等,都需要通过Grahpics.FromImage创建Grahphics对象,而此时会出现:无法从带有索引像素格式图像创建...graphics对象 这个错误,让我们后续工作无法完成。...是判断当图像为索引模式时,直接返回错误,而不是通过判断GdipGetImageGraphicsContext返回值来实现。      ...如果能借助GDI+提供优质抗锯齿填充模式加上丰富自由填充函数,那么就可以创建出多种多样选区了。可.net一个无法创建Graphics让我们此路不通。      ...因此我想法就是利用GDI方式创建位图对象吗,然后从GDIHDC中创建对应Graphics。经过实践,这种方法是可以行

5.4K80
您找到你想要的搜索结果了吗?
是的
没有找到

LINQ to SQL(1):基础入门

,而不像我们使用ADO.NET那样,把更多功夫用在数据类型转换等等问题上,当程序运行时候,LINQ to SQL会将我们使用自己语言定义模型中语言继承查询转换为SQL,然后将他在数据库上执行...,然后将返回结果转换为我们自定义对象,使用过nhibernate或者ibatis.net朋友,可能就很熟悉这种方式啦,我个人认为,LINQ to SQL在某些地方弥补了这两种框架缺陷,而且,如果我们可以在项目中使用...我环境是.net framework ,开发工具visual studio 2008 SP1 开发语言c# 创建一个控制台应用程序,在默认情况下,可能没有对System.Data.Linq引用,所以...,它是用于从数据库检索对象和提交更改主要通道 在项目的Main方法中键入如下代码 DataContext dc = new DataContext("Data Source=XIAOYAOJIAN;Initial...,还并不是我们想要,因为如果我们使用ORM来生成LINQ to SQL模型的话,是没有像GetTable这种东西出现,二十在查询时候,可以直接使用强类型对象,那么他是如何实现呢,继续往下看

1.3K60

WPF --- 如何以Binding方式隐藏DataGrid列

预想方案 像这样: 先在ViewModel创建数据源 People 和控制列隐藏 IsVisibility,这里直接以 MainWindow 为 DataContext public partial...但实际测试时就会发现,勾选 CheckBox 能够改变 DataContext.IsVisibility 值,但是无法触发转换器 VisibilityConverter,即使不用 RelativeSource...解决方案 所以,通过直接找 DataContext 方式,是不可行,那就曲线救国。 既然无法找到承载 DataContext.IsVisibility 对象,那就创建一个能够承载对象。...首先该对象必须是 DependencyObject 类型或其子类,这样才能使用依赖属性在 Xaml 进行绑定,其次必须有属性变化通知功能,这样才能触发 VisibilityConverter,实现预期功能...)对象才存在于可视化树中。」

31810

.NETASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板装饰者模式(一)

阅读目录: 1.开篇介绍 2.Model与View使用关系(数据上下文DataContext与View呈现) 3.Metadata元数据驱动设计(如何使用中间层元数据来驱动最终行为) 4.ASP.NETMVC...1.将变化点从编译时迁移到运行时;2.将变化点从硬编码迁移到配置化; 这里只是一个简单介绍,由于每一个主题细化下来都会很大,都会包含该方向中很多领域概念、术语和重要设计思想,所以这里只是一个简单介绍...、提供程序模型;元数据驱动设计模式是使用频率比较高,因为其复杂度也相对较低所以比较容易上手;其实在很多现有的.NET框架中,如:WCF、ASP.NET、Remoting、Winform中都会看见Metadata...标准数据经过一个中间环节转换成元数据,然后交给最终处理程序去使用;可以很清晰了解到元数据起到一个核心作用,它可以很好将处理程序与标准数据之间解耦,让中间元数据提供更大灵活性,通过这个中间层元数据...(Plain Old Csharp Objects)对象很难,如果没有IDE编译时支持,很难提取出可以在运行时使用数据;这个时候我们如果需要修改标准元数据类型或者修改操作程序逻辑都会或多或少对两者有影响

62760

“老坛泡新菜”:SOD MVVM框架,让WinForms焕发新春

和LinkProperty属性,实现数据控件和视图模型对象绑定,这里绑定DataContext对象CurrentUser对象属性。...由于这里我们要绑定对象是当前窗体DataContext对象,所以需要浏览选择到主程序集,这样在属性名称一栏,会显示此对象所有的属性和子属性。...注意如果DataContext对象没有出现在列表里面,需要检查Form 窗体是否声明了 DataContext对象,并且需要首先编译一次程序集。最后,单击确定,我们就设置好了数据控件要绑定信息。...创建MVVM模型 我们模型很简单,就是负责创建新用户,加载已有用户,添加,修改或者删除用户,并且这些操作都是针对数据库,也就是我们通常CRUD操作。...运行解决方案 经过上面的过程,我们添加了视图元素,设置好了视图元素数据绑定,创建了模型和视图模型对象,一个简单MVVM示例程序就好了,下面是运行效果图: ?

3.6K60

如何让WPF中ValidationRule实现参数绑定

在WPF中,数据模型允许将ValidationRules与Binding对象关联,可以通过继承ValidationRule类并重写Validate方法来创建自定义规则。...经过研究发现,FileNameValidationRule并不在可视化树上,无法继承和访问到DataContext,因此绑定失败。 解决这个问题方法也不太复杂(其实找解决办法也是花了点时间)。...即使不在逻辑树中对象也可以通过key访问到资源。...Freezable类主要目的是定义具有可修改状态和只读状态对象,但是比较幸运是这个类实例不在可视化树或逻辑树中也可以继承到DataContext,目前我也不清楚这里原理。...父元素DataContext会自动传递给其子元素,以便子元素可以访问父元素数据对象。但是,不在可视化树上对象无法继承和直接绑定到DataContext

18720

《深入浅出WPF》学习笔记之深入浅出话Binding

一般源是逻辑层对象,目标是UI层控件对象.   我们可以控制源与目标是双向通行还是单向,还可以控制对数据放行时机,还可以设置“关卡”转换数据类型或校验数据正确性。...Source 用于指定数据源为后台数据对象、集合 ElementName 用于指定“数据源”为界面上某个控件某个属性   注意:   在C#代码中可以访问XAML代码中声明变量,但XAML代码中无法访问...源   *普通CLR类型对象,只要改对象实现了INotifyPropertyChanged接口即可当作源   *普通CLR集合类型对象:数组、List、ObservableCollection     经常把集合作为ItemsControl派生类数据源   *ADO.NET数据对象:DataTable和DataView等   *XML,使用XmlDataProvider   *依赖对象...DataTemplate后,结果如上右图所示 6.3.8 使用ADO.NET对象作为Binding源   尽管流行架构中先通过Linq等手段把DataTable里数据转换成用户自定义类型集合,但

5.3K10

2020-1-8-如何正确在tooltip中实现绑定

而我们tooltip是另一个单独逻辑树(popup这些也是)。 但是这里namescope来自window对象,而tooltip不在window逻辑树上,自然无法沿着逻辑树去寻找。...所以就虽然记录了ElementName,但是无法找到指定对象。 同样原理,DataContext和ReferenceSouce也是无法跨域逻辑树传递或找寻的。...PS:使用{x:Reference}引用父元素时候会提示出现循环引用错误,而ElementName不会 此外这里获得对象之后,使用Souce直接绑定对象,就不需要关系逻辑树问题了。...其他方案 那么如果你场景需要DataContext传递,怎么办呢?...可以这样使用Binding PlacementTarget方式获取Tooltip附加对象DataContext 然后,这个DataContext就可以在ToolTip逻辑树上传递了 ? ?

1.6K20

win10 uwp DataContext

本文告诉大家DataContext多种绑法。 适合于WPF绑定和UWP绑定。 我告诉大家很多个方法,所有的方法都有自己优点和缺点,可以依靠自己喜欢用法使用。...先创建一个用户控件 LuenqxuhkRrjbzcf ,这是一个空白用户控件,只需要修改背景色 <TextBlock Text...所以刚才 Page.Resources 就可以修改为 FrameworkElement.Resources 可是这个方法有个缺点,无法在页面 Page 元素上使用 DataContext 绑定,只能在...因为资源是有顺序,Page 在资源之前,于是 Page 就无法绑定。在WPF也一样。提示错误参见下图。 如果只有一个页面,而且使用地方也是在 页面的内容,那么建议使用这个方法。...关于为何使用 cast 而不是 as ,因为已经确定了现在使用类型就是 ViewModel ,我也需要使用是 ViewModel 不是其他,如果有人改了其它类型,我必须报错,于是就使用 cast

47820

win10 uwp DataContext

本文告诉大家DataContext多种绑法。 适合于WPF绑定和UWP绑定。 我告诉大家很多个方法,所有的方法都有自己优点和缺点,可以依靠自己喜欢用法使用。...先创建一个用户控件 LuenqxuhkRrjbzcf ,这是一个空白用户控件,只需要修改背景色 <TextBlock Text...所以刚才 Page.Resources 就可以修改为 FrameworkElement.Resources 可是这个方法有个缺点,无法在页面 Page 元素上使用 DataContext 绑定,只能在...因为资源是有顺序,Page 在资源之前,于是 Page 就无法绑定。在WPF也一样。提示错误参见下图。 如果只有一个页面,而且使用地方也是在 页面的内容,那么建议使用这个方法。 ?...关于为何使用 cast 而不是 as ,因为已经确定了现在使用类型就是 ViewModel ,我也需要使用是 ViewModel 不是其他,如果有人改了其它类型,我必须报错,于是就使用 cast

83520

win10 uwp 依赖属性

那么是在什么时候才可以拿到依赖属性值? 依赖属性需要在加逻辑树才可以拿到值,所以在加入逻辑树之后,构造函数是类创建,所以这时不能拿依赖属性值。...但是实际绑定需要获取不是在创建时候拿到,所以这时是获取不到ViewModel 里属性。...假如我有多个属性,把这多个属性绑定在 G Padding ,那么只有最后一个绑定可以使用,其他绑定无法使用。.../4764916/listen-to-changes-of-dependency-property 初始化出现默认值类型与属性类型不同 定义依赖属性是需要默认值类型和定义一样,在一般代码,可以使用隐式转换...但是在这里定义 2默认是错误,需要写2d才是对 修改属性名称 默认代码片生成代码属性名称是字符串,但是字符串有个缺点,如果修改了变量名,那么界面绑定就无法找到。

81020

WPF面试题大全,秒杀面试官必备

引擎是WPF核心,负责将应用程序用户界面呈现到屏幕上。WPF引擎基于矢量图形技术,能够提供高质量、高性能用户界面。 编程框架为开发人员提供了创建WPF应用程序工具和方法。...答:WPF体系结构由几个关键组件组成,这些组件共同工作以创建和渲染UI: PresentationFramework:这是提供WPF应用程序基础核心程序集。...可以使用ADO.NET提供SQL连接对象(如SqlConnection)来连接到数据库。连接字符串应包含数据库相关信息,如服务器名称、数据库名称、身份验证方式等。...答:WPF 对象层次结构是 WPF 应用程序基础。它定义了 WPF 应用程序中所有对象类型以及它们之间关系。 WPF 对象层次结构顶层是 Object 类。...答:在WPF中,DataContext是一个重要概念,它表示界面元素数据上下文。每个WPF控件都有一个DataContext属性,用于绑定数据。

37010

如何使用C#编写低代码应用插件

现在市面上大部分低代码平台可以满足大部分日常需求,但对于一些定制化并且低代码平台无法实现需求,如何解决呢?最常见方法就是对低代码平台功能进行扩展(低代码插件)。...下载后双击打开,看到以下界面, 勾选".Net 桌面开发",其他保持默认配置,点击Next即可。 如果提示系统版本不支持,需要升级Windows 系统要求。...编译成功后,打开活字格设计器,在单元格类型选择下拉列表中可以看到多了一个单元格类型“我插件单元格”,第一个插件已经开发完成了。...第2步:插件开发 1.完成一个自定义插件开发 公式类型属性: 1.1创建公式属性 (1)在插件中增加一个公式类型属性(单元格、命令、服务端命令)。...dataContext作为函数一个参数, 在调用时候将dataContext传入 **/ var propCalcedValue = await dataContext.EvaluateFormulaAsync

14930

在LINQ to SQL中使用Translate方法以及修改查询用SQL

,如果在使用时它Connection对象被“显式”地打开了,即使调用了DataContext对象Dispose方法也不会自动关闭。...而这次扩展关键在于新ExecuteQuery方法,它接受一个IQueryable类型对象作为参数,返回一个范型List。...因此,如果您使用了ColumnAttribute中Name属性改变了数据库字段名与实体对象属性名映射关系,那么在创建匿名对象时候还是要使用数据库字段名,而不是实体对象名,如下: public static...以上扩展所受限制   以上扩展并非无可挑剔。由于Translate方法特点,此类做法都无法充分发挥LINQ to SQL查询所有能力——那就是所谓“LoadWith”能力。   ...[ItemCommentID]   相信大家已经了解Translate方法为何无法充分发挥LINQ to SQL能力了。那么我们又该如何解决这个问题呢?

4.8K50
领券