C++Builder 中大尺寸图象的显示技巧

C++Builder中大尺寸图象的显示技巧 在C++Builder中利用TImage控件可以轻松地读入并显示图象,但TImage 控件本身不可以接收输入焦点,也没带有滚动条,在显示超出显示区域范围的大图象时,需要对TImage控件进行加强。本文提出两种最容易实现且有效的方法,满足不同应用的需求。    方法一:增加滚动条。    增加滚动条可以通过将TImage放在TScrollBox控件中来实现。步骤如下:  阅读详情

---- 在C++Builder 中 利 用TImage 控 件 可 以 轻 松 地 读 入 并 显 示 图 象, 但TImage 控 件 本 身 不 可 以 接 收 输 入 焦 点, 也 没 带 有 滚 动 条, 在 显 示 超 出 显 示 区 域 范 围 的 大 图 象 时, 需 要 对TImage 控 件 进 行 加 强。 本 文 提 出 两 种 最 容 易 实 现 且 有 效 的 方 法, 满 足 不 同 应 用 的 需 求。

---- 方 法 一: 增 加 滚 动 条。

---- 增 加 滚 动 条 可 以 通 过 将TImage 放 在TScrollBox 控 件 中 来 实 现。 步 骤 如 下:

---- (1)、 在 窗 体 中 放 置 一 个TScrollBox 控 件, 调 整 好 其 尺 寸。

---- (2)、 设 置TScrollBox 控 件 的AutoScroll 属 性 为True。

---- (3)、 在TScrollBox 控 件 是 放 置 一 个TImage 控 件。

---- (4)、 设 置TImage 控 件 的 属 性:AutoSize 为True,Left 为0,Top 为0。 经 以 上 增 强 之 后, 如 果TImage 的 图 象 比 显 示 窗 口 大, 滚 动 条 会 自 动 出 现, 如 果 图 象 小 于 显 示 窗 口, 滚 动 条 自 动 消 失, 实 现 了 大 图 象 的 浏 览。

---- 方 法 二: 图 象 漫 游。

---- 图 象 漫 游 是 指 不 用 滚 动 条, 通 过 键 盘 或 者 鼠 标 控 制 图 象 的 移 动, 从 而 在 较 小 的 显 示 区 域 内 可 以 浏 览 图 象 的 任 何 部 分。 下 面 以 鼠 标 控 制 为 例 说 明。

---- (1)、 在 窗 体 中 放 置 一 个TPanel 控 件, 调 整 好 其 尺 寸。

---- (2)、 在TPanel 控 件 是 放 置 一 个TImage 控 件。

---- (3)、 设 置TImage 控 件 的AutoSize 属 性 为True,Left 属 性 为0,Top 属 性 为0。

---- (4)、 在TForm1 的 类 定 义 中 加 两 个 私 有 变 量: int iX0,iY0;

---- (5)、 响 应TImage 控 件 的OnMouseDown 和OnMouseMove 事 件。

void __fastcall TForm1::Image1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
   iX0 = X;
   iY0 = Y;
}

void __fastcall TForm1::Image1MouseMove
(TObject *Sender, TShiftState Shift, int X, int Y)
{
   int iDeltaX, iDeltaY;
   if(Shift.Contains(ssLeft))
   {
      iDeltaX = X - iX0;
      iDeltaY = Y- iY0;
      if(iDeltaY)
Image1->Left += iDeltaX;
      if(iDeltaY)
        Image1->Top += iDeltaY;
   }
}
 

---- (6)、 运 行 时 按 住 鼠 标 左 键 拖 动, 图 象 将 跟 随 移 动。

---- (7)、 如 果 通 过 键 盘 控 制, 只 需 参 考 鼠 标 控 制 的 代 码, 加 入 键 盘 控 制 即 可。

---- (8)、 实 际 应 用 时, 根 据 需 要 加 入 边 界 限 制, 保 证 图 象 不 会 被 移 出 显 示 区 域 之 外。

---- 以 上 两 种 方 法 在 本 人 开 发 的 软 件 当 中 多 次 应 用, 效 果 很 好。

C++ Builder实现自定义图像裁剪功能 C++ Builder是一种集成开发环境(IDE),它允许开发者使用C++语言进行高效的应用程序开发。由于其出色的可视化设计、组件库以及快速编译器,C++ Builder成为了诸多专业开发者在进行复杂软件系统开发时的首选工具。C++ Builder由Embarcadero Technologies开发,其背后继承了Borland公司的技术积累。自推出以来,它一直紧随时代技术的进步,支持最新的C++标准,帮助开发者在保证代码质量的同时,还能快速响应市场需求。 阅读详情

相关推荐

ImageBoard

一个操作jpeg,gif,bmp,tiff等图象格式的类库,能够对图象进行常用的编辑操作,适合学习vc图形学编程的朋友!!

【ShortBrain】(十二)——Big Picture

Story  The story's  title is Big picture.I'll introduct the  crazy story for you. There was the most famous dog. It's Athena. So why did Athena become the famous dog.Now I'll tell to you. The first...

邢美玲 2万+

C++builder 10.2 (FMX或VCL)控件中显示opencv2的 IplImage图片.docx

在c++buidler 10.2 中使用TBitmap显示OpenCV中的IplImage图片,用做视觉识别

视觉开发 学习 参考课本_D3的视觉参考

视觉开发 学习 参考课本I’ve been using D3 quite a bit recently to build an analytics dashboard. The main reason I went with D3 was because I got tired of dealing with the limitations of the various charting libr...

cumian8165的博客 5952

imgbrd-grabber, 功能强大的ImageBoard/booru下载器,具有强大的filenaming特性.zip

imgbrd-grabber, 功能强大的ImageBoard/booru下载器,具有强大的filenaming特性 抓取器 可以下载数千个图片的ImageBoard/booru下载器,很容易从boorus下载。 它可以通过图形用户intertface或者命令行来使用。由于它的强大的命名特性,你只需要设置

打开摄像头-C++_C++_调用摄像头_

调用笔记本电脑自带摄像头或外接摄像头,后续会实现截图保存功能,平台为VC6.0

在C++Builder下如何设置dspack的图象大小

这两天在C++Builder下测试dspack,想设置采集图象的分辨率,在网上查找了一下,没找到C++Builder如何使用,只有delphi下的代码如下:{ PinList := TPinList.Create(Filter1 as IBaseFilter);if cbFormats.ItemIndex with (PinList.First as IAMStreamConfig) doSe

wuxq的专栏 2020

搞定汽车座椅电机EMC超标:一个PCB滤波板的实战设计与避坑心得

本文详细介绍了汽车座椅电机EMC超标问题的解决方案,通过PCB滤波板的实战设计,解决了传导发射测试超标问题。文章分享了在空间受限条件下的滤波电路架构设计、接地系统优化及迭代验证过程,为汽车直流电机的EMC整改提供了实用方法论。

weixin_30336061的博客 378

IT文档 1

"陷阱"技术探秘──动态汉化Windows技术的分析20个VC开发小技巧3DLabel控件API层实现语音录制API更改系统菜单条目ASP.NET 的状态管理ASP.NET中上传文件到数据库ASP.NET中发送Email完整实例ASP.NET中的HTML编码和URL编码ASP.NET创建文件并写入内容ASP.NET实现HTTP方式获取功能ASP.NET实现用户在线检测的类源码ASP.NET应用中缓

iamhere1956的专栏 472

qwen2vl ValueError: Image features and image tokens do not match: tokens: 568, features 600

本文介绍了一个用于计算多模态数据集中样本token数量的Python工具,特别针对包含文本和图像的Qwen2-VL模型数据集。

q742971636的博客 1012

Jetson agx Orin 适配Xenomai4

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。

xiaoning132的专栏 465

Delphi-TScreen表示应用程序运行时屏幕的状态

TScreen表示应用程序运行时屏幕的状态。 类关系 TObject->TPersistent->TComponent   TScreen引进具有表示下列各种情况的属性  什么窗体和数据模块已经被应用程序实例化。  激活窗体以及在窗体内激活的控件。  屏幕的尺寸大小和分辨率。  可以获得的应用程序使用的光标和字体。   有一个TScreen类型的全局变量Screen,已被C++...

weixin_34244102的博客 299

【HALCON工业视觉应用探索】10. C#+Halcon 3D视觉实战:点云处理与三维测量工业指南(附完整代码与实操案例)

摘要:本文聚焦C#+Halcon在3D视觉领域的工业应用,从新手友好的“基础3D检测系统”切入,逐步深入“汽车铸件三维测量”等工业级场景。内容涵盖核心概念(点云数据结构、3D采集原理、坐标系统)、完整技术流程(数据采集→预处理→特征提取→三维测量→结果可视化)、工业级代码实现(多视角点云融合、微缺陷检测、高精度尺寸测量),以及现场落地关键技巧(硬件选型、标定流程、抗干扰优化)。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2004

TScreen类

TScreen类 关键字:TScreen类,屏幕 TScreen表示应用程序运行时屏幕的状态。  类关系 TObject->TPersistent->TComponent    TScreen引进具有表示下列各种情况的属性   什么窗体和数据模块已经被应用程序实例化。   激活窗体以及在窗体内激活的控件。   屏幕的尺寸大小和分辨率。   可以获得的应用

hcxowe的专栏 650

用python画带有正负值的条形图

常见的条形图只能表现数据的大小,却不能表现值的正负关系。但是其实仅仅使用`pandas`和`matplotlib`两个包就可以实现y轴负轴的添加以及负值的显示,并且可以为正负值分别设置不同的颜色,让条形图看上去更加清晰,易于我们分析

weixin_44853840的博客 5382

《UDS协议从入门到精通》系列——图解0x10:诊断会话控制

什么是诊断会话控制服务?切换模式时ECU要做哪些?有没有通信示例?本文全网最详解!!

车载系统攻城狮 1万+

BCB中使用TImage对图象的放大与缩小

TCanvas对象的CopyRect函数可以实现图象的放大与缩小;即把画布上的一部分拷贝到另一部分。函数原型如下:void __fastcall CopyRect(const TRect &Dest, TCanvas* Canvas, const TRect &Source);Example: 下列的密码举例说明 CopyRect 和 BrushCopy 之间的不同。 位图图标被载入位图而且在 F

Johnny的专栏 5642

uniapp - 超详细 H5 网页利用 uni.downloadFile 下载 URL 文件流并调用浏览器下载功能效果,前台通过请求后端接口获取文件并下载保存到本地(支持电脑PC与手机移动端H5)

uniapph5网页下载文件,uniapp网站下载文件流,uniapp的移动端h5实现接口url文件下载,uniapph5页面在浏览器中如何下载指定url文件流文件并保存到本地,uniapp移动端h5调用后端接口保存文件到本地,uniapph5通过下载后获得临时路径怎么让浏览器弹出下载,uniapp怎么请求接口下载到文件,得到Blob临时路径对象后如何下载到本地,浏览器怎么下载blob对象,uniapp二进制文件流下载,uniapph5中的文件流下载和指定的url下载详细教程,uniappapp移

🏆 前端领域优质创作者 1万+

图片查看器 BigImageViewer

BigImageViewer Big image viewer supporting pan and zoom, with very little memory usage and full featured image loading choices. Powered by Subsampling Scale Image View, Fresco, Glide, and P

DL-ZhangTeng的博客 4160

YOLOv11改进有效涨点专栏目录 | 含卷积、主干、注意力机制、Neck、检测头、损失函数、二次创新C2PSA/C3k2等各种网络结构改进

Hello,各位读者们好.本文为最新YOLOv11有效涨点专栏目录,YOLOv11以及发布了一个月左右,这个过程中我也是给大家整理了许多的机制,其中包含了C3k2、主干(均支持根据yolov11训练的版本进行二次缩放,全系列都能轻量化)、检测头、注意力机制、Neck多种结构上创新,也有损失函数和一些细节点上的创新。

Snu77的博客 8万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

用C++ Builder实现图像的特技显示

 在网页、软件和游戏中,我们经常可以看到图像的各种特技显示,如中心扩散、百叶窗帘、右下推出等,这种动感图像显示,往往给人一种赏心悦目的感觉,给我们的应用程序增加了一些美感。在C++ Builder中,我们可以很容易地实现这些功能。下面以一个具体的例子,介绍实现中心扩散和百叶窗帘两种显示技巧,并说明在C++ Builder中处理图像的基本方法。   在C++ Builder中新建一个工程,然后在窗体

1306

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: 用C++Builder 5开发Windows下的屏保
下一篇: Visual C++中函数调用方式浅探
icemanpro
博客等级 码龄25年 4粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值