[转载]http://blog.sina.com.cn/s/blog_638dd78201018663.html 函数原型:int GetDeviceCaps(int nIndex); 常用的参数有(参考MSDN): int iHORZSIZE=pDC->GetDeviceCaps(HORZSIZE); // 得到当前显示设备的水平大小(毫米) int iVERTSIZE=pDC->GetDeviceCaps(VERTSIZE);// 得到当前显示设备的垂直大小(毫米) int iHORZRE…
[转载]http://blog.sina.com.cn/s/blog_638dd78201018663.html 函数原型:int GetDeviceCaps(int nIndex); 常用的参数有(参考MSDN): int iHORZSIZE=pDC->GetDeviceCaps(HORZSIZE); // 得到当前显示设备的水平大小(毫米) int iVERTSIZE=pDC->GetDeviceCaps(VERTSIZE);// 得到当前显示设备的垂直大小(毫米) int iHORZRE…
说明: 1.安装平台:32位XP,VS2010: 2.OpenCV 2.4.4不支持VC 6.0: 3.网上有很多用CMake编译OpenCV的安装教程,这里建议先不要自己编译,如果使用预编译好的库有问题,再尝试自己编译. 4.希望大家好好看看每一部分的注意事项,看懂了再去配置,不然错了,还不知道错在哪里.尤其要注意自己的操作系统的位数,还有相应的路径   一.下载OpenCV 1.从本站下载栏目 http://www.opencv.org.cn/index.php/Download 下载 Op…
所谓视口代表设备,比如屏幕. 窗口代表我们的思维. 我们对windows说在(5,6)处画个点(调用GDI函数).windows认为是在我们的思维的(5,6)处画了个点.(也就是说5,6是逻辑坐标,GDI函数中的大部分都是逻辑坐标) 那么,要把它映射到屏幕上,必须作一些解释. 解释包括: 原点在哪里? 5,6代表什么? 注意,解释5,6时不光是距离问题,还有方向呢! SetViewportOrgEx和SetWindowOrgEx是管第一个问题的.设置原点和设置X轴Y轴方向(SetMapMode)…
[转载]http://issf.blog.163.com/blog/static/1941290822009111894413472/ 最近用GDI+实现了几个自定义控件,但是发现存在内存泄露问题 BOOL CGdiplusBugDlg::OnEraseBkgnd(CDC* pDC) {Image* pImage = Image::FromFile(L"E:\\bac.bmp");Graphics g(pDC->m_hDC); g.DrawImage(pImage,0,0); r…
一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁. 先来谈谈闪烁产生的原因 原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期. 一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的. 这样问题就来了,一般画图都是先画背景色,然后再把内容画上去,如果这两次操作不在同一个刷新周期内完成,那么给人的视觉感受就是,先看…
SetViewportOrgEx 与 SetWindowOrgEx 解析 这两个函数,用来改变视端口和窗口的原点,并都具有改变轴的效果,以致(0,0)不再指左上角. 「视端口」是依据设备坐标(图素)的.通常,视端口和显示区域相同.视端口也可以是指整窗口坐标或者屏幕坐标.点(0,0)是显示区域(或者整个窗口或屏幕)的左上角,x的值向右增加,y的值向下增加. 「窗口」是依据逻辑坐标的,逻辑坐标可以是图素.毫米.英寸或者您想要的任何其它单位. 对于视端口和窗口的概念可以这样理解: 幻想显示器大小可以随…
GDI+是一种绘图装置接口, 当拖动窗体是,窗体发生移动,window默认为从窗体移动到另一个地方,先发生擦除后再重新画一个窗体: 而我们自己动手画的图(如下面的线),不会重新画:在属性中,Paint,中,将画图的程序重新写一遍就可实现重画. 画一条线 private void button1_Click(object sender, EventArgs e) { // 创建GDI Graphics g = this.CreateGraphics(); //创建两个点 Point n1=new…
VC轻松解析XML文件 - CMarkup类的使用方法http://www.cctry.com/thread-3866-1-1.html VC解析XML文件的工具有很多,CMarkup, tinyXML,还有IBM的,MS的等等.据说tinyXML很好,可能字符集问题,我编译不了.所以就用CMarkup来解析,使用过后,觉得非常不错,使用起来很方便.CMarkup下载地址:http://www.firstobject.com/发现网上有方法很法,我就摘下来了 //----------UserIn…
RGB 颜色 使用 RGB 宏可以创建一个由三个整数值(R.G.B)的 COLORREF 值. COLORREF RGB( BYTE byRed, // 红色值(R) BYTE byGreen, // 绿色值(G) BYTE byBlue // 蓝色值(B) ); 设置像素 SetPixel 函数用于将坐标为 x 和 y 的像素点设定为某个特定的颜色: COLORREF SetPixel( HDC hdc, // 当前的设备环境句柄 int X, // 像素点的 x 坐标 int Y, // 像…
#include "GdiPlus.h" // 使用GDI+ 命名空间 using namespace Gdiplus; // 与GDI+ 相关的其它头文件,如:GraphicsPath类所在的头文件 #include "GdiplusBase.h" #include "GdiPlusPath.h" // 导入GDI+ lib文件 #pragma comment(lib, "GdiPlus.lib") // GDI+ 资源的初…
class CBitmap : public CGdiObject { DECLARE_DYNAMIC(CBitmap) public: static CBitmap* PASCAL FromHandle(HBITMAP hBitmap); // Constructors CBitmap(); BOOL LoadBitmap(LPCTSTR lpszResourceName); BOOL LoadBitmap(UINT nIDResource); BOOL LoadOEMBitmap(UINT…
在OnDraw(CDC* pDC) 中添加如下代码 CDC MemDC; //首先定义一个显示设备对象 CBitmap MemBitmap;//定义一个位图对象 //随后建立与屏幕显示兼容的内存显示设备 MemDC.CreateCompatibleDC(NULL); //这时还不能绘图,因为没有地方画 ^_^ //下面建立一个与屏幕显示兼容的位图,至于位图的大小嘛,可以用窗口的大小,也可以自己定义(如:有滚动条时就要大于当前窗口的大小,在BitBlt时决定拷贝内存的哪部分到屏幕上) MemBit…
一.章节目标 这几章节我们会创建一个完整的Window程序,包括使用DataGrid空间,数据绑定是把.NET类中的数据提供给用户界面的一个重要概念,还允许修改数据,包括.NET4.5新增的INotifyDataErrorInfo接口.Commanding可以把UI的事件映射到代码上. TreeView和DataGrid控件是显示数据绑定的UI控件.TreeView控件可以在树形结构中显示数据,其中数据根据用户的选择进行动态加载.通过DataGrid控件学习如何使用过滤.排序.分组,以及.NET…
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace e1 { public partial class Form1 : Form { public Form1()…
1. 名词理解 屏幕尺寸(screen size) 屏幕尺寸(screen size),是屏幕的对角线长度,一般讲的大小单位都是英寸. DPI (dots per inch) dpi 是(英文Dots Per Inch)(每英寸所打印的点数)的缩写,是打印机.鼠标等设备分辨率的单位.国际上都是计算一平方英寸面积内像素的多少.这是衡量打印机打印精度的主要参数之一,一般来说,该值越大,表明打印机的打印精度越高.如果对于扫描设备,dpi越大,则采样点越高,扫描的图片越清晰. 可以理解为像素的密度,即单…
窗口和视口 视口是基于设备的采用的是设备坐标(单位:像素),窗口是基于程序的采用的是逻辑坐标(单位:像素/毫米/厘米等). 在默认的映射模式下,视口是与窗口等同的.但是如果改变其映射模式,则其对应的单位则不相同. 一般映射模式 如果将映射模式改为MM_LOENGLISH或MM_LOMETRIC等,则1个设备坐标并不对应一个逻辑坐标,因为其单位不同.而且对于不同的映射模式而言其逻辑单位都是固定的. 可编程映射模式 如果将映射模式改为MM_ANISOTROPIC或MM_ANISOTROPIC,则其逻…
今天同学给我了一个设计UI的软件,其实我是一头雾水的,有点孤陋寡闻了,设计UI还有这样的软件.百度了下,看见这篇文章还是很有收获的,原来UI还是一门如此高深的学问.把这篇文章和大家一起分享吧,希望你们能够得到一些帮助. 1.了解几个概念 (1)分辨率.分辨率就是手机屏幕的像素点数,一般描述成屏幕的“宽×高”,安卓手机屏幕常见的分辨率有480×800.720×1280.1080×1920等.720×1280表示此屏幕在宽度方向有720个像素,在高度方向有1280个像素. (2)屏幕大小.屏幕大小是…
一.名词解释 WPF(Windows Presentation Foundation),直译为Windows表示基础,是专门用来编写程序表示层的技术和工具. 大部分程序都是多层架构的,一般至少包含三层: 数据层:用于存储数据,多由数据库构成. 业务逻辑层:用于编写现实的业务逻辑. 表示层:负责把数据和流程以界面显示的形式展示给用户看. 相比其他技术,WPF引入了“内置硬件加速”和“分辨率无关”等创新功能. 二.硬件加速 WPF通过DirectX执行所有WPF绘图操作,以便充分利用现代显卡的最新功…
随着智能手机iphone和Android的热潮,衍生出基于Safari和Chrome浏览器的触屏手机网站Touch Screen Mobile Website. 触屏手机网站在中国还属于起步阶段,从行业的现状来看,其体验参差不齐,笔者将从设备.系统.浏览器.网络.四个维度来与大家共同探讨触屏手机的网站设计: 一.设备 ·分辨率与屏幕尺寸 ·触屏机的交互特点 ·性能 1. 分辨率是设计师做网站时首要考虑的问题,iphone/ipod touch目前有2种分辨率:480*320.960*640,屏幕…
· 来源:http://emuch.net/bbs/viewthread.php?tid=2705843 杂志社对投稿图片的分辨率通常有如下要求: TIFF: Colour or greyscale photographs (halftones): always use a minimum of 300 dpi. TIFF: Bitmapped line drawings: use a minimum of 1000 dpi. 第一点说的是灰度图的dpi在至少300dpi以上,比如病理图片.电泳…
DELPHI中用FASTREPORT制作报表  1.加载并存储报表 默认情况下,报表窗体同项目窗体构存储在同一个DFM文件中.多数情况下,无须再操作,因而你就不必采用特殊方法加载报表. 如果你决定在文件中存储报表窗体或者是数据库的 Blob字段(他提供了非常大的弹性,你能够在非编译程序中修改),你必须使用“TfrxReport”提供的加载和存储方法. function LoadFromFile(const FileName: String; ExceptionIfNotFound: Boolea…
使用 gomobile 检测 华为荣耀 6 Plus 的屏幕大小为:  1080*1776 px ;   162pt*266.40pt ;  每pt像素个数:6.666665个. 而实际的数据是: 主屏尺寸: 5.5英寸:  分辨率  1920*1080 像素 : 像素密度 401ppi. 实测 1776,而不是 1920 是因为 华为荣耀 有一个可隐藏的 按钮区, 实测时按钮区是存在的,排除了按钮区的高度就是 1776 .   另外,它5.5英寸的屏幕,手机屏幕以16:9,大概长12.18,宽…
原文网址:http://www.cocoachina.com/ios/20141022/10009.html 假如你现在完成一个App的开发并准备进行真机测试,那么请问你会怎么做呢?难道是直截了当的把App扔到App Store上然后下载来试试?当然,如果你的App相当简陋,这么做的话无可厚非.不过如果你要做的是一款高质量的App并迫不及待的想发布出去的的话,我建议你还是在真正发布前好好的进行Beta测试. Beta测试属于软件开发周期中的一环,在此之前你已经在模拟器和自己的真机上进行过测试.不…
未完待续 ps_app= createOLEObject "Photoshop.Application" ps_app.Load "d:\\test\\aaa.tga" ps_app.ActiveDocument.Selection.SelectAll() ps_app.ActiveDocument.Selection.Copy() ps_app.ActiveDocument.Paste() ps_app.Quit() ReleaseOLEObject ps_app…
不少设计师和工程师都被安卓设备纷繁的屏幕搞得晕头转向,我既做UI设计,也做过一点安卓界面布局,刚好对这块内容比较熟悉,也曾在公司内部做过相关的讲座,在此,我将此部分知识重新梳理出来分享给大家! 1.了解几个概念 (1)分辨率.分辨率就是手机屏幕的像素点数,一般描述成屏幕的“宽×高”,安卓手机屏幕常见的分辨率有480×800.720×1280.1080×1920等.720×1280表示此屏幕在宽度方向有720个像素,在高度方向有1280个像素. (2)屏幕大小.屏幕大小是手机对角线的物理尺寸,以英…
      因为之前接到的一个需求,让excel的宽度自动适应.所以最近一直在看Excel相关内容,从结构到.net的两个类库OpenXml和Office.Interop.Excel,再到一些具体的使用. 这次学习花费了很多东西,主要陷入了两个误区,一个是一开始先入为主的认为Openxml中微软肯定有解决方案(我以为功能很简单,而且Interop.Excel是有解决方法的,但是实际上并没有),另一个在style.xml里面陷入误区了(很想当然的认为了自动列宽应该在stylesheet.xml里面…
1.  资源包括:文本字符串.图像和图标.音频文件.视频和其他应用程序使用的组件. 2.  在Android工程中,Android资源文件是同Java类文件分开存储的,大多数常见的资源类型存储在XML中.你也可以将原始数据文件和图形作为资源来存储. 3.  Eclipse下默认的Android资源目录 资源子目录 说明 /res/drawable 图形资源 /res/layout 用户界面资源,Widget /res/values 简单数据,如字符串.颜色值 说明:当你向工程资源目录/res中加…
转自:http://www.zcool.com.cn/article/ZNjI3NDQ=.html 1.了解几个概念 (1)分辨率.分辨率就是手机屏幕的像素点数,一般描述成屏幕的“宽×高”,安卓手机屏幕常见的分辨率有480×800.720×1280.1080×1920等.720×1280表示此屏幕在宽度方向有720个像素,在高度方向有1280个像素. (2)屏幕大小.屏幕大小是手机对角线的物理尺寸,以英寸(inch)为单位.比如某某手机为“5寸大屏手机”,就是指对角线的尺寸,5寸×2.54厘米/…
OmniGraffle是一款不错的可视化软件,通过它你可以把你想要展现的数据简介.直观的展现在图.表上,这是我在数据可视化工具这篇随笔中说过的功能.但是当我真正用它时,我发现它可以做的事情还有很多. 用来绘制实体关系的ER图,用来绘制程序流程图,甚至我当时苦苦寻找的思维导图软件,发现其他的都收费太高,而OmniGraffle,也是可以实现绘制思维导图的,这么强大的软件当然值得学习了,下面我直接在网上借鉴一篇文章,文章来源是http://www.uisdc.com/omnigraffle,谢谢这位…