精华内容
下载资源
问答
  • 对话框里有图有文字
    2021-06-12 00:55:12

    JavaScript中可以使用document.getElementsByTagName方法后去img标签,然后遍历所有img标签并为其添加点击事件实现点击弹出对话框。

    fe17e1b9a0a0be3abcf2bc388ce08808.png

    JavaScript实现点击图片弹出对话框:

    img {

    width: 500px;

    height: 300px;

    }

    //获取所有的img标签

    var imgObjs = document.getElementsByTagName("img");

    //遍历标签

    for (var i = 0; i < imgObjs.length; i++) {

    //注册点击事件,添加事件处理函数

    imgObjs[i].onclick = function () {

    alert("HTML中文网");

    };

    }

    运行结果:

    fdac2936c06815c6105e7180ea10446d.png

    点击图片后效果:

    3c8b1ed14c990d26a72838c37d906c30.png

    getElementsByTagName() 方法

    getElementsByTagName() 方法可返回带有指定标签名的对象的集合。

    语法:document.getElementsByTagName(tagname)

    JavaScript事件:

    JavaScript 使我们有能力创建动态页面。事件是可以被 JavaScript 侦测到的行为。 网页中的每个元素都可以产生某些可以触发JavaScript函数的事件。比方说,我们可以在用户点击某按钮时产生一个 onClick 事件来触发某个函数。事件在 HTML 页面中定义。

    更多相关内容
  • [可以用选择的字体、大小和颜色(使用字体公用对话框)在指定的位置按指定的对齐方式来输出文字串; 可以清屏(调用CWnd类的函数Invalidate()或用背景色画填充客户区矩形)、可以按Esc键取消正在进行的绘图操作; ...
  • 主要为大家详细介绍了微信小程序自定义模态对话框实例的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 对话框的picture控件中显示图片,显示的图片是按照原始图像按照一定的比例进行缩放,不会因为picture控件的大小与图片不同而产生变形。在VC++6.0 下编译通过。。。。另外:需要opencv库函数。。。。
  • 接下教大家如何在图片中插入文字泡的操作技巧。  首先,上传图片也可以选择模板进行编辑。   点击素材,找到文字容器,点击全部。   点击对话框的分类,看到对话框下的文字泡。   选择合适的文字泡插入到模板...

    在**图片设计**中经常会采用添加注释的方式来进行问题的解答,有些图片通过输入简单的文字就能够让人了解图片展现的主题内容是什么。但是输入简单的文本框看起来会营销图片展现的效果,怎样添加文字才能看起来与图片的展现不冲突呢?接下里教大家如何在图片中插入文字泡的操作技巧。
      首先,上传图片也可以选择模板进行编辑。
      在这里插入图片描述

    点击素材,找到文字容器,点击全部。
      在这里插入图片描述

    点击对话框的分类,看到对话框下的文字泡。
      在这里插入图片描述

    选择合适的文字泡插入到模板或者图片,点击文字泡在右侧调整文字泡的颜色,投影,位置等功能。
      在这里插入图片描述

    点击文字,选择插入正文,双击文字框编辑文字,具体文字编辑可参考找图设计的文字如何编辑?
     在这里插入图片描述

    比如设计两个人在对话,选择两个人物的矢量图,然后添加对话框,输入文字,设个背景,对话框的颜色也可以根据图片的背景更换,如下图所示。
      在这里插入图片描述

    操作非常的简单,比如做课件,或者PPT文档设计图片的时候都可以使用,希望对有需要的朋友有所帮助。

    展开全文
  • 主要介绍了使用Java编写GUI对话框的教程,是Java图形化编程中的基础知识,需要的朋友可以参考下
  • 主要为大家详细介绍了Android实现带图标的列表对话框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 解决矢量地图与卫星地图叠加偏移的两种方法.doc
  • 很多时候我们会想要制作文字图片,这样我们就能够用制作好的文字图片,把它当成是水印应用到其他的图片上,下面小编为大家带来用GIMP软件制作文字图片及其倒影的方法步骤,希望对大家帮助?制作文字图片方法1、新建...

    很多时候我们会想要制作文字图片,这样我们就能够用制作好的文字图片,把它当成是水印应用到其他的图片上,下面小编为大家带来用GIMP软件制作文字图片及其倒影的方法步骤,希望对大家有帮助?

    制作文字图片方法

    1、新建一个背景透明的图像文件。

    文件-->新建…,图像大小:800 x 600,填充:透明。

    1344316556322091008.htm

    图1

    2、输入文字、生成路径。

    单击工具栏上的文字工具,输入 280 像素大小的“经验” 2 字,全选-->右键-->从文字创建路径。

    1344316556322091008.htm

    图2

    3、生成彩色字。

    选择菜单-->从路径,生成文字范围的选区;从右侧工具栏下方的图案对话框里选择一种图案,单击、拖放到文字选区,彩色文字即告完成。

    1344316556322091008.htm

    图3

    4、新增一个图层。

    下面的步骤在上述彩色文字前方形成文字的投影。

    在右侧工具栏上方的图层对话框中,单击对话框下方的新增图层按钮,按默认值新增一个图层。

    1344316556322091008.htm

    图4

    5、反转文字选区。

    在新增的图层上,选择菜单-->从路径,生成新的选区;单击左侧工具栏上的翻转工具,在下方的工具选项里选中:影响-->选区;翻转类型-->垂直。最后单击新生成的选区,将其反转。

    1344316556322091008.htm

    图5

    6、设置透视工具。

    单击左侧工具栏上的透视工具,在下方的工具选项里选中:变换-->选区。

    1344316556322091008.htm

    图6

    7、拉伸已经被反转的文字选区。

    设置好透视工具后,点按住已反转的文字选区的左下角,向左下方拉伸;然后右下角向右下方拉伸。

    1344316556322091008.htm

    图7

    8、设置混合工具。

    单击左侧工具栏上的混合工具,在下方的工具选项里选择:渐变-->从前景到透明。

    1344316556322091008.htm

    图8

    9、为文字选区应用渐变效果。

    设置好混合工具后,在已反转文字选区的范围内点按并拖动鼠标,将渐变效果应用到选区。

    1344316556322091008.htm

    图9

    10、最终效果。

    图为在以上步骤基础上增加了白色背景图层后的效果。

    由于一开始就是在透明背景上制作的,因此彩色文字和它的投影文字,可以添加到任何图像上作为前景,并保留原有的透明部分。

    1344316556322091008.htm

    图10

    总结:以上就是全部的“用GIMP软件怎么制作文字图片及其倒影?制作文字图片方法”内容。

    小编推荐:

    展开全文
  • android 对话框

    2018-06-04 12:03:27
    android移动开发对话框详细介绍,想要了解android对话框的同学可以进来看看
  • 诸如更新提示等含有取消和删除两个按钮的对话框我们可以通过代码创建一个AlertDialog并通过它暴露的一系列方法设置我们自定义的布局和style,但时候系统的AlertDialog并不能实现更好的定制,这时,我们就想到了...
  • 简单列表对话框 (1)运行结果截图 (2)执行代码 单选列表对话框 (1)运行结果截图 (2)执行代码 多选列表对话框 (1)运行结果截图 (2)执行代码 自定义VIEW对话框 (1)运行结果截图 (2)执行代码 ...
  • 基于MFC对话框程序,利用picture控件显示位图,并可实现图像重绘。内代码与实现之详细步骤。 附带WORD说明,比较适合初学者入门
  • 上边这张黄黄的,大大的,圆圆的,个小尾巴,文字内容有些YY的图片,就是使用纯CSS实现的气泡对话框效果,一点图片都没有哦。看到这里,你是不是跟我一样,有些惊叹CSS的潜力呢。关于这张图片,暂时先放到一边,...
  • 由于官方API提供的显示模态弹窗,只能简单地显示文字内容,不能对对话框内容进行自定义,欠缺灵活性,所以自己从模态弹窗的原理角度来实现了自定义的模态对话框。 wx.showModal(OBJECT) 自定义 模态对话框 涉及文件 ...
  • 自定义控件段时间没更新了,今天给大家带来一个新的对话框样式,本着用更少的代码实现更丰富的功能。 由于对话框对用户的操作影响,所以目前app上的对话框用的已经比较少了,但还是一些比较重要的信息提示需要...
  • MFC对话框绘制灰度直方

    千次阅读 2018-07-23 16:58:43
    本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程《数字图像处理》及课件进行回忆讲解,主要通过MFC单文档视图实现点击弹出对话框绘制BMP图片的灰度直方,再获取平均灰度、中指灰度和...

    本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程《数字图像处理》及课件进行回忆讲解,主要通过MFC单文档视图实现点击弹出对话框绘制BMP图片的灰度直方图,再获取平均灰度、中指灰度和标准差等值。文章比较详细基础,希望该篇文章对你有所帮助~
           【数字图像处理】一.MFC详解显示BMP格式图片
           【数字图像处理】二.MFC单文档分割窗口显示图片
           【数字图像处理】三.MFC实现图像灰度、采样和量化功能详解
            免费资源下载地址:
            http://download.csdn.net/detail/eastmount/8757243

     

    一. 程序运行结果

            该篇文章主要是在上一篇文章基础上进行的讲解,其中当打开一张BMP图像后,点击”直方图“-》”显示原图直方图“如下。




     

    二. 灰度直方图原理

            什么是灰度直方图?
            灰度直方图(histogram)是灰度级的函数,描述的是图像中每种灰度级像素的个数,反映图像中每种灰度出现的频率。横坐标是灰度级,纵坐标是灰度级出现的频率。


            对于连续图像,平滑地从中心的高灰度级变化到边缘的低灰度级。直方图定义为:

            其中A(D)为阈值面积函数:为一幅连续图像中被具有灰度级D的所有轮廓线所包围的面积。对于离散函数,固定ΔD为1,则:H(D)=A(D)-A(D+1)
            色彩直方图是高维直方图的特例,它统计色彩的出现频率,即色彩概率分布信息。
            通常这需要一定的量化过程,将色彩分成若干互不重叠的种类。一般不直接在RGB色彩空间中统计,而是在将亮度分离出来后,对代表色彩部分的信息进行统计,如在HSI空间的HS子空间、YUV空间的UV子空间,以及其它反映人类视觉特点的彩色空间表示中进行。
            其中直方图的计算方法如下:
            依据定义,若图像具有L(通常L=256,即8位灰度级)级灰度,则大小为MxN的灰度图像f(x,y)的灰度直方图hist[0…L-1]可用如下计算获得。
            1、初始化 hist[k]=0; k=0,…,L-1 
            2、统计 hist[f(x,y)]++; x=0,…,M-1, y =0,…,N-1 
            3、归一化 hist[f(x,y)]/=M*N 
            那么说了这么多,直方图究竟有什么作用呢?
            在使用轮廓线确定物体边界时,通过直方图更好的选择边界阈值,进行阈值化处理;对物体与背景有较强对比的景物的分割特别有用;简单物体的面积和综合光密度IOD可以通过图像的直方图求得。

     

     

    三. 程序实现

     

    1.建立直方图对话框

           第一步:创建Dialog
            将视图切换到ResourceView界面,选中Dialog右键鼠标新建一个Dialog,并新建一个名为IDD_DIALOG_ZFT,设置成下图对话框。

     

            右键添加属性如下:
            对话框-原始直方图-IDD_DIALOG_ZFT
            组框-RGB-IDC_STATIC_RGB
            图像-框架-IDC_STATIC_KJ-蚀刻(重点:有它才能添加直方图在此处,注意GetDlgItem()函数中是IDC而不是IDD对话框)
            添加蚀刻线(图像蚀刻形成的直线)形如图中的3个矩形框,并添加静态文本:Red、Green、Blue、红、绿、蓝、像素、平均灰度、中值灰度、标准差;这些静态文本都是IDC_STATIC且为默认属性
            添加红色4个值(Static)、绿色4个值、蓝色4个值,分别为:
            IDC_STATIC_XS_RED(GREEN BLUE)对应像素XS
            IDC_STATIC_PJHD_RED(GREEN BLUE)对应平均灰度PJHD
            IDC_STATIC_ZZHD_RED(GREED BLUE)对应中值灰度ZZHD
            IDC_STATIC_BZC_RED(GREEN BLUE)对应标准差BZC
     

           第二步:建立类向导MFC ClassWizard
            (1) 在对话框资源模板空白区双击鼠标(Ctrl+W),创建一个新类,命名为CImageZFTDlg会自动生成它的.h和.cpp文件。在类向导中选中类名CImageZFTDlg,IDs为CImageZFTDlg,WM_INITDIALOG建立这个函数用于初始化。
            (2) 打开类向导,选择Member Variables页面,添加如下变量,类型均为CString。
            像素 m_redXS、m_greenXS、m_blueXS
            标准差 m_redBZC、m_greeenBZC、m_blueBZC
            平均灰度 m_redPJHD、m_greenPJHD、m_bluePJHD
            中值灰度 m_redZZHD、m_greenZZHD、m_blueZZHD

            (3) 在View.cpp中添加直方图的头文件 #include "ImageZFTDlg.h"

            第三步:设置菜单栏调用直方图对话框
            (1) 将视图切换到ResourceView界面,选中Menu,在IDR_MAINFRAM中添加菜单项“直方图”,菜单属性中选择“弹出”,在“直方图”中添加子菜单“显示原图直方图”。
            (2) 设置其属性为ID_ZFT_YT(显示直方图原图),同时建立类向导,选择ID_ZFT_YT(IDs),通过COMMAND建立显示直方图函数OnZftYt()。


           第四步:添加代码及计算4个值
            在ImageProcessingView.cpp中添加如下代码,注释中有如何求平均灰度、中值灰度和标准差的消息算法过程。

     
    1. //引用显示直方图头文件

    2. #include "ImageZFTDlg.h"

    3. #include "math.h"

    4.  
    5. /*全局变量在TestZFTDlg.cpp中引用 用extern*/

    6. int Red[256],Green[256],Blue[256];

    7.  
    8. /**************************************************/

    9. /* 添加直方图显示功能,并在直方图下方显示相关信息

    10. /* 如平均灰度、中值灰度、标准差和像素总数

    11. /* ID_ZFT_YT:直方图原图显示

    12. /**************************************************/

    13. void CImageProcessingView::OnZftYt()

    14. {

    15. if(numPicture==0) {

    16. AfxMessageBox("载入图片后才能显示原图直方图!",MB_OK,0);

    17. return;

    18. }

    19. AfxMessageBox("显示原图直方图!",MB_OK,0);

    20. CImageZFTDlg dlg;

    21.  
    22. //打开临时的图片

    23. FILE *fpo = fopen(BmpName,"rb");

    24. fread(&bfh,sizeof(BITMAPFILEHEADER),1,fpo);

    25. fread(&bih,sizeof(BITMAPINFOHEADER),1,fpo);

    26.  
    27. int i,j;

    28. for(j=0;j<256;j++) { //定义数组并清零

    29. Red[j]=0;

    30. Green[j]=0;

    31. Blue[j]=0;

    32. }

    33.  
    34. //计算4个数据

    35. unsigned char red,green,blue;

    36. int IntRed,IntGreen,IntBlue; //强制转换

    37. double sumRedHD=0,sumGreenHD=0,sumBlueHD=0; //记录像素总的灰度值和

    38. for(i=0; i<m_nImage/3; i++ )

    39. {

    40. fread(&red,sizeof(char),1,fpo);

    41. IntRed=int(red);

    42. sumRedHD=sumRedHD+IntRed;

    43. if( IntRed>=0 && IntRed<256 ) Red[IntRed]++; //像素0-255之间

    44.  
    45. fread(&green,sizeof(char),1,fpo);

    46. IntGreen=int(green);

    47. sumGreenHD=sumGreenHD+IntGreen;

    48. if( IntGreen>=0 && IntGreen<256 ) Green[IntGreen]++;

    49.  
    50. fread(&blue,sizeof(char),1,fpo);

    51. IntBlue=int(blue);

    52. sumBlueHD=sumBlueHD+IntBlue;

    53. if( IntBlue>=0 && IntBlue<256 ) Blue[IntBlue]++;

    54. }

    55. fclose(fpo);

    56.  
    57. //像素:int型转换为CString型

    58. dlg.m_redXS.Format("%d",m_nImage);

    59. dlg.m_greenXS.Format("%d",m_nImage);

    60. dlg.m_blueXS.Format("%d",m_nImage);

    61.  
    62. //平均灰度值:计算24位bmp图片的灰度值,我是记录RGB中的所有平均值

    63. float pinRedHD,pinGreenHD,pinBlueHD;

    64. pinRedHD=sumRedHD*3/m_nImage;

    65. pinGreenHD=sumGreenHD*3/m_nImage; //平均灰度=总灰度/总像素

    66. pinBlueHD=sumBlueHD*3/m_nImage;

    67.  
    68. dlg.m_redPJHD.Format("%.2f",pinRedHD);

    69. dlg.m_greenPJHD.Format("%.2f",pinGreenHD);

    70. dlg.m_bluePJHD.Format("%.2f",pinBlueHD);

    71.  
    72. /****************************************************************/

    73. /* 中值灰度:算法重点(黄凯大神提供)

    74. /* 中值灰度:所有像素中的中位数,应该所有像素排序找到中间的灰度值

    75. /* 算法:num[256]记录各灰度出现次数,sum+=num[i],找到sum=总像素/2

    76. /****************************************************************/

    77. int sumRedZZHD=0,sumGreenZZHD=0,sumBlueZZHD=0;

    78. int redZZHD,greenZZHD,blueZZHD;

    79. for(i=0;i<256;i++)

    80. {

    81. sumRedZZHD=sumRedZZHD+Red[i];

    82. if(sumRedZZHD>=m_nImage/6) //m_nImage被分成3份RGB并且sum=总像素/2

    83. {

    84. redZZHD=i;

    85. break;

    86. }

    87. }

    88. for(i=0;i<256;i++)

    89. {

    90. sumGreenZZHD=sumGreenZZHD+Green[i];

    91. if(sumGreenZZHD>=m_nImage/6) //m_nImage被分成3份RGB并且sum=总像素/2

    92. {

    93. greenZZHD=i;

    94. break;

    95. }

    96. }

    97. for(i=0;i<256;i++)

    98. {

    99. sumBlueZZHD=sumBlueZZHD+Blue[i];

    100. if(sumBlueZZHD>=m_nImage/6) //m_nImage被分成3份RGB并且sum=总像素/2

    101. {

    102. blueZZHD=i;

    103. break;

    104. }

    105. }

    106.  
    107. dlg.m_redZZHD.Format("%d",redZZHD);

    108. dlg.m_greenZZHD.Format("%d",greenZZHD);

    109. dlg.m_blueZZHD.Format("%d",blueZZHD);

    110.  
    111. /******************************************************************/

    112. /*标准差:标准差=方差的算术平方根

    113. /* 方差s^2=[(x1-x)^2+(x2-x)^2+......(xn-x)^2]/n

    114. /* 算法:不用开m_nImage数组进行计算 用num[256]中数进行

    115. /* 方差=(平均灰度-i)*(平均灰度-i)*Red[i] 有Red[i]个灰度值为i的数

    116. /******************************************************************/

    117. float redBZC,greenBZC,blueBZC; //标准差

    118. double redFC=0,greenFC=0,blueFC=0; //方差

    119. for(i=0;i<256;i++)

    120. {

    121. redFC=redFC+(pinRedHD-i)*(pinRedHD-i)*Red[i]; //有Red[i]个像素i

    122. greenFC=greenFC+(pinGreenHD-i)*(pinGreenHD-i)*Green[i];

    123. blueFC=blueFC+(pinBlueHD-i)*(pinBlueHD-i)*Blue[i];

    124. }

    125.  
    126. redBZC=sqrt(redFC*3/m_nImage);

    127. greenBZC=sqrt(greenFC*3/m_nImage);

    128. blueBZC=sqrt(blueFC*3/m_nImage);

    129.  
    130. dlg.m_redBZC.Format("%.2lf",redBZC);

    131. dlg.m_greenBZC.Format("%.2lf",greenBZC);

    132. dlg.m_blueBZC.Format("%.2lf",blueBZC);

    133.  
    134. //重点必须添加该语句才能弹出对话框

    135. if(dlg.DoModal()==IDOK)

    136. {

    137.  
    138. }

    139. }

            第五步:此时运行结果如下图所示,打开图片可以显示参数。



     

    2.建立对话框与View联系并绘制直方图

            重点(极其重要*)
            (1) 如何在MFC中(View中)实现对子对话框的画图或直方图响应?
            解决方法:在子对话框中.cpp文件中实现画图响应,不要再View.cpp中实现,否则图像会以menu背景为坐标,而在ImageZFTDlg.cpp中建立OnPaint函数实现画图,它默认会以子对话框为标准。
            (2) 如何把View.cpp中的图片像素直方图信息传递给子对话框ImageZFTDlg.cpp呢?
            解决方法:如果自定义ImageStruct.h中建立全局变量,每个.cpp中引用该头文件调用总是报错(未知),所以我在View.h中建立一个全局变量int Red[256];再在子文件.cpp中函数里调用该全局变量即可extern int Red[256],这是非常重要的一个C语言知识。
            (3) 画图函数OnPaint()参考源代码中详细注释。
            如何绘制坐标轴、文字、图像,其实自己绘制而没调用第三方库还是挺有意思的。

            第一步:建立画直方图函数OnPaint
            打开类向导(Ctrl+W),类名选择CImageZFTDlg,IDs选择CImageZFTDlg,在Message函数中建立WM_PAINT映射,默认函数名为OnPaint建立函数void CImageZFTDlg::OnPaint()

            第二步:绘制直方图大致思想如下
            (1) 重点:获取要绘制直方图的位置和图像资源的对应号ID(IDC_STATIC_KJ 框架),我当时认为绘制直方图只能绘制到”图像“控件IDC中,不能是对话框IDD。
            CWnd *pWnd = GetDlgItem(IDC_STATIC_KJ);
            CDC *pDC = pWnd->GetDC();
            (2) 获取对话框矩形的长和宽
            CRect rectpic;
            GetDlgItem(IDC_STATIC_KJ)->GetWindowRect(&rectpic);
            (3) 创建画笔对象并对画笔进行颜色设置
            CPen *RedPen = new CPen();
            RedPen->CreatePen(PS_SOLID,1RGB(255,0,0));
            (4) 选中当前画笔并保存以前画笔
            CGdiObject *RedOlderPen = pDC->SelectObject(RedPen);
            (5) 绘制直方图(图像坐标自己算)
            矩形 pDC->Rectangle(9,327,312,468);
            移动 pDC->MoveTo(15,331);
            直线 pDC->LineTo(15,488);
            文字 pDC->TextOut(15+48*i,450,str);
            (6) 恢复以前画笔
            pDC->SelectObject(RedOlderPen);
            delete RedPen;
            ReleaseDC(pDC);

            第三步:源代码与详细注释思想
            在ImageZFTDlg.cpp中修改OnPaint函数:

     
    1. //****************绘制原图直方图*********************//

    2. void CImageZFTDlg::OnPaint()

    3. {

    4. CPaintDC dc(this); // device context for painting

    5.  
    6. // TODO: Add your message handler code here

    7.  
    8. /********************************************************************************/

    9. /* 重点知识:(百度)

    10. /* 如何在View.cpp中把一个变量的值传给其它对话框

    11. /*

    12. /* 错误一:在View.h中定义的pubic变量只能在View.cpp中用

    13. /* 错误二:定义一个Struct.h中存全局变量,在2个函数中分别调用#include "Struct.h"

    14. /*

    15. /* 解决方法一: (CSDN 不会)参数用 A& a 两个对话框里都可以访问a

    16. /* 解决方法二: (CSDN 不会)重载

    17. /*

    18. /* 解决:在View.cpp中定义全局变量 void CBmpDrawView::OnZftYt() 前面 并函数中操作

    19. /* 在dialog的cpp中即void CTestZFTDlg::OnPaint()中在定义一个extern int a

    20. /********************************************************************************/

    21.  
    22. extern int Red[256],Green[256],Blue[256];

    23.  
    24. /*写在该空间中可以省略Invalidate()语句*/

    25. /*获取控件的CDC指针*/

    26. CRect rectpic;

    27. GetDlgItem(IDC_STATIC_KJ)->GetWindowRect(&rectpic);

    28.  
    29. int x,y;

    30. x=rectpic.Width();

    31. y=rectpic.Height();

    32.  
    33. CWnd *pWnd=GetDlgItem(IDC_STATIC_KJ);

    34. CDC *pDC=pWnd->GetDC();

    35.  
    36. /***********************/

    37. /*重点:画直方图 红色

    38. /**********************/

    39. CPen *RedPen=new CPen(); //创建画笔对象

    40. RedPen->CreatePen(PS_SOLID,1,RGB(255,0,0)); //红色画笔

    41. CGdiObject *RedOlderPen=pDC->SelectObject(RedPen); //选中当前红色画笔并保存以前的画笔

    42.  
    43. /*画图*/

    44. pDC->Rectangle(9,16,312,147); //画一个矩形框

    45. pDC->MoveTo(15,20); //绘制坐标轴

    46. pDC->LineTo(15,128); //Y竖轴

    47. pDC->LineTo(305,128); //X横轴

    48.  
    49. pDC->MoveTo(305,128); //绘制X箭头

    50. pDC->LineTo(300,123); //绘制上边箭头

    51. pDC->MoveTo(305,128);

    52. pDC->LineTo(300,133); //绘制下边箭头

    53.  
    54. pDC->MoveTo(15,20); //绘制Y箭头

    55. pDC->LineTo(10,25); //绘制左边箭头

    56. pDC->MoveTo(15,20);

    57. pDC->LineTo(20,25); //绘制右边箭头

    58.  
    59. /**********************************************************************/

    60. /* TextOut函数功能:

    61. /* 该函数用当前选择的字体、背景颜色和正文颜色将一个字符串写到指定位置

    62. /* BOOL TextOut(HDC hdc,int x,int y,LPCTSTR str,int numStr)

    63. /* 表示:x起始坐标,y起始坐标,字符串,字符串中字符个数

    64. /*

    65. /* SetTextColor函数功能:

    66. /* 设置指定设备环境(HDC)的字体颜色

    67. /* SetTextColor (HDC, COLORREF) 如:SetTextColor(HDC,RGB(255,0,0));

    68. /**********************************************************************/

    69.  
    70. CString str;

    71. int i;

    72. for(i=0;i<=5;i++) //写X轴刻度线

    73. {

    74. str.Format("%d",i*50); //0-255之间添加6个刻度值

    75. pDC->SetTextColor(RGB(255,0,255)); //设置字体颜色

    76. pDC->TextOut(15+48*i,130,str); //输出字体

    77. pDC->MoveTo(15+48*i,128); //绘制X轴刻度

    78. pDC->LineTo(15+48*i,125);

    79. }

    80. for(i=0;i<=5;i++) //写Y轴刻度线

    81. {

    82. pDC->MoveTo(15,128-20*i); //绘制Y轴刻度

    83. pDC->LineTo(18,128-20*i);

    84. }

    85.  
    86. /*绘制直方图主要的代码*/

    87. for(i=1;i<256;i++)

    88. {

    89. pDC->MoveTo(15+i,128);

    90. if( (128-16) > (Red[i]/40) )

    91. pDC->LineTo(15+i,128-(Red[i]/40));

    92. else

    93. pDC->LineTo(15+i,16); //超过矩形的画矩形高

    94. }

    95.  
    96.  
    97. /**********************/

    98. /*重点:画直方图 绿色

    99. /**********************/

    100. CPen *GreenPen=new CPen(); //创建画笔对象

    101. GreenPen->CreatePen(PS_SOLID,1,RGB(0,255,0)); //绿色画笔

    102. CGdiObject *GreenOlderPen=pDC->SelectObject(GreenPen);

    103.  
    104. pDC->Rectangle(9,167,312,308); //画一个矩形框

    105. pDC->MoveTo(15,171); //绘制坐标轴

    106. pDC->LineTo(15,288); //Y竖轴

    107. pDC->LineTo(305,288); //X横轴

    108.  
    109. pDC->MoveTo(305,288); //绘制X箭头

    110. pDC->LineTo(300,283); //绘制上边箭头

    111. pDC->MoveTo(305,288);

    112. pDC->LineTo(300,293); //绘制下边箭头

    113.  
    114. pDC->MoveTo(15,171); //绘制Y箭头

    115. pDC->LineTo(10,176); //绘制左边箭头

    116. pDC->MoveTo(15,171);

    117. pDC->LineTo(20,176); //绘制右边箭头

    118.  
    119. for(i=0;i<=5;i++) //写X轴刻度线

    120. {

    121. str.Format("%d",i*50); //0-255之间添加6个刻度值

    122. pDC->SetTextColor(RGB(255,0,255)); //设置字体颜色

    123. pDC->TextOut(15+48*i,290,str); //输出字体

    124.  
    125. pDC->MoveTo(15+48*i,288); //绘制X轴刻度

    126. pDC->LineTo(15+48*i,285);

    127. }

    128. for(i=0;i<=5;i++) //写Y轴刻度线

    129. {

    130. pDC->MoveTo(15,288-20*i); //绘制Y轴刻度

    131. pDC->LineTo(18,288-20*i);

    132. }

    133.  
    134. /*绘制直方图主要的代码*/

    135. for(i=1;i<256;i++)

    136. {

    137. pDC->MoveTo(15+i,288);

    138. if( (288-167) > (Green[i]/40) )

    139. pDC->LineTo(15+i,288-(Green[i]/40));

    140. else

    141. pDC->LineTo(15+i,167); //超过矩形的画矩形高

    142. }

    143.  
    144.  
    145. /**********************/

    146. /*重点:画直方图 蓝色

    147. /***************((*****/

    148. CPen *BluePen=new CPen(); //创建画笔对象

    149. BluePen->CreatePen(PS_SOLID,1,RGB(0,0,255)); //蓝色画笔

    150. CGdiObject *BlueOlderPen=pDC->SelectObject(BluePen);

    151.  
    152. pDC->Rectangle(9,327,312,468); //画一个矩形框

    153. pDC->MoveTo(15,331); //绘制坐标轴

    154. pDC->LineTo(15,448); //Y竖轴

    155. pDC->LineTo(305,448); //X横轴

    156.  
    157. pDC->MoveTo(305,448); //绘制X箭头

    158. pDC->LineTo(300,443); //绘制上边箭头

    159. pDC->MoveTo(305,448);

    160. pDC->LineTo(300,453); //绘制下边箭头

    161.  
    162. pDC->MoveTo(15,331); //绘制Y箭头

    163. pDC->LineTo(10,336); //绘制左边箭头

    164. pDC->MoveTo(15,331);

    165. pDC->LineTo(20,336); //绘制右边箭头

    166.  
    167.  
    168. for(i=0;i<=5;i++) //写X轴刻度线

    169. {

    170. str.Format("%d",i*50); //0-255之间添加6个刻度值

    171. pDC->SetTextColor(RGB(255,0,255)); //设置字体颜色

    172. pDC->TextOut(15+48*i,450,str); //输出字体

    173.  
    174. pDC->MoveTo(15+48*i,448); //绘制X轴刻度

    175. pDC->LineTo(15+48*i,445);

    176. }

    177. for(i=0;i<=5;i++) //写Y轴刻度线

    178. {

    179. pDC->MoveTo(15,448-20*i); //绘制Y轴刻度

    180. pDC->LineTo(18,448-20*i);

    181. }

    182.  
    183. /*绘制直方图主要的代码*/

    184. for(i=1;i<256;i++)

    185. {

    186. pDC->MoveTo(15+i,448);

    187. if( (448-327) > (Blue[i]/40) )

    188. pDC->LineTo(15+i,448-(Blue[i]/40));

    189. else

    190. pDC->LineTo(15+i,327); //超过矩形的画矩形高

    191. }

    192.  
    193.  
    194. //恢复以前的画笔

    195. pDC->SelectObject(RedOlderPen);

    196. pDC->SelectObject(GreenOlderPen);

    197. pDC->SelectObject(BlueOlderPen);

    198. delete RedPen;

    199. delete GreenPen;

    200. delete BluePen;

    201. ReleaseDC(pDC);

    202. return;

    203.  
    204. // Do not call CDialog::OnPaint() for painting messages

    205. }

            

    //

    转载:https://blog.csdn.net/eastmount/article/details/46237463

     

    展开全文
  • CAD文字变成问号怎么改?

    千次阅读 2021-03-18 13:57:07
    要打开工程,最好先创建一个新的文本样式,这样便于指定字体。单击“格式”,然后单击“文本样式”。2、弹出“文本样式”对话框,单击“新建”,创建新的文本样式,当然也可以使用原始文本样式,因为默认文本样式...
  • 项目中多处用到对话框,本篇文章主要介绍了Android实现圆角对话框Dialog的示例代码,兴趣的可以了解一下。
  • python对话框

    2021-06-17 22:11:18
    python 创建对话框 注:今天讲的是easygui...首先,就像我们在电脑上见的对话框那样,就是个类似界面的东西,上头很多的功能键,文字啊、按钮啊、输入框啊等等。首先,我们要先创建一个界面,如所示: 导入easygu
  • 通过本文给大家分享一个简单的常用的对话框类,关于Android实现类似iOS风格的对话框实例代码大家通过本文学习下吧
  • (3) 改对话框左上角描述文字(如“子对话框”) (4) 改对话框ID(如“CHILDDIALODG1”) 结果: 2、添加子对话框类 (1) 选中子对话框右键→添加类 (2)填写类名(如“test1”) 结果: 3、为子对话框类...
  • 模式和非模式对话框

    2021-01-14 12:52:35
    模式和无模式对话框 可以使用类 CDialog 来管理两种类型的对话框: 1:模式对话框,要求用户在继续之前做出响应。...删除IDC_STATIC控件并添加两个Button按钮控件设置它们的文字描述分别为“” ...
  • 在随后出现的向导,选择窗口模板为Dialog without Buttons,并设置自定义对话框的类名。 会得到3个文件,分别为.h ,.c,ui文件。 设置好自己的对话框界面。 2.对话框的调用和返回值 设计QWDialogSize对话框
  • public class Example9_16 { public static void main... win.setTitle("带消息对话框的窗口"); win.setBounds(80,90,350,300); } } package 例题; import java.awt.event.*; import java.awt.*; imp
  • MFC对话框绘图

    千次阅读 2014-04-05 00:28:20
    1、在对话框上的一块区域绘制彩色线条。 2、窗口被覆盖后恢复时,图像自动重绘。 3、改变按钮颜色。 操作: 根据向导建立一个对话框程序。在资源中添加一个静态文本框,其ID为IDC_STATIC。 在...
  • Tkinter 对话框

    千次阅读 2020-04-26 22:09:12
    本章节,我们学习 Tkinger 的对话框
  • AS对话框

    2020-07-06 17:45:28
    (一)警告对话框 AlertDialog: 一个可以0到3个按钮, 一个单选框或复选框的列表的对话框. 警告对话框可以创建大多数的交互界面, 是推荐的类型. (二)进度对话框 ProgressDialog: 显示一个进度环或者一个进度条. ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 87,830
精华内容 35,132
关键字:

对话框里有图有文字