Advertisement

在JPEG图片上使用MFC添加可调位置的文字水印并保存(已测试通过)

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本教程详细介绍了如何利用Microsoft Foundation Classes (MFC) 在JPEG图像中插入可调节位置和样式的文字水印,并指导用户完成整个实现过程,最终将修改后的图片保存。适合希望增强其应用程序功能的开发者参考学习。 为了获取图片的尺寸,并在图片下方添加水印文字,可以使用以下代码: ```cpp int ix = m_pBmp->GetWidth(); int iy = m_pBmp->GetHeight(); Brush *brush = new SolidBrush(Color(0, 0, 0)); // 黑色背景 Font *font = new Font(L宋体, 14); PointF ptf; ptf.X = 10; ptf.Y = iy - 30; // 确定字符长度 int nLen = MultiByteToWideChar(CP_ACP, 0, szText, -1, NULL, 0); pGraph->DrawString(szText.AllocSysString(), nLen, font, ptf, brush); szText.ReleaseBuffer(); Color clr; HBITMAP hBmp; m_pBmp->GetHBITMAP(clr, &hBmp); ``` 上述代码首先获取图片的宽度和高度,然后创建一个黑色背景的画刷,并设置字体为“宋体”,大小为14。接着定义了一个`PointF`对象来指定水印文字的位置(距离底部30个像素)。随后计算字符串长度并使用这个信息在图片下方绘制文本。 最后释放缓冲区中的字符数组,并通过调用`GetHBITMAP()`方法获取位图句柄,以便后续操作可以使用该位图。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • JPEG使MFC
    优质
    本教程详细介绍了如何利用Microsoft Foundation Classes (MFC) 在JPEG图像中插入可调节位置和样式的文字水印,并指导用户完成整个实现过程,最终将修改后的图片保存。适合希望增强其应用程序功能的开发者参考学习。 为了获取图片的尺寸,并在图片下方添加水印文字,可以使用以下代码: ```cpp int ix = m_pBmp->GetWidth(); int iy = m_pBmp->GetHeight(); Brush *brush = new SolidBrush(Color(0, 0, 0)); // 黑色背景 Font *font = new Font(L宋体, 14); PointF ptf; ptf.X = 10; ptf.Y = iy - 30; // 确定字符长度 int nLen = MultiByteToWideChar(CP_ACP, 0, szText, -1, NULL, 0); pGraph->DrawString(szText.AllocSysString(), nLen, font, ptf, brush); szText.ReleaseBuffer(); Color clr; HBITMAP hBmp; m_pBmp->GetHBITMAP(clr, &hBmp); ``` 上述代码首先获取图片的宽度和高度,然后创建一个黑色背景的画刷,并设置字体为“宋体”,大小为14。接着定义了一个`PointF`对象来指定水印文字的位置(距离底部30个像素)。随后计算字符串长度并使用这个信息在图片下方绘制文本。 最后释放缓冲区中的字符数组,并通过调用`GetHBITMAP()`方法获取位图句柄,以便后续操作可以使用该位图。
  • MFC
    优质
    本文章介绍了如何使用MFC框架,在位图图像中添加版权或个性化信息的文字水印。通过简单步骤实现图片保护与美化。 给定资源或指定位图文件添加水印文字的类示例: 创建一个水印操作类对象: ```cpp CWaterMark mark(IDB_BITMAP1); ``` 接下来,构造字体GDI对象并设置为水印文本使用的字体: ```cpp HFONT hFont = CreateFontA(28, 0, 0, 0, FW_BOLD, 1, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, _T(华文楷体)); mark.SetTextFont(hFont); ``` 设置水印文字的颜色: ```cpp mark.SetForeColor(RGB(255, 128, 0)); ``` 向位图的右下角添加一条水印文本,也可以根据需要添加多条。自动添加时,文字与图片上下左右顶端的距离由 `mark.m_leftSpacing`, `mark.m_rightSpacing`, `mark.m_topSpacing` 和 `mark.m_bottomSpacing` 控制: ```cpp mark.AddWaterMark(Hello World, CWaterMark::Location::RightBottom); ``` 获取位图信息并将其拷贝到客户区视图DC中,然后释放设备上下文(DC)资源。 最后保存结果至指定文件位置: ```cpp BITMAP bmp; mark.GetBitmap(&bmp); CDC* pDC = GetDC(); pDC->BitBlt(0, 0, bmp.bmWidth, bmp.bmHeight, CDC::FromHandle(mark.GetMemoryDC()), 0, 0, SRCCOPY); ReleaseDC(pDC); //保存结果到指定位图文件 mark.Save(C:\\1.bmp); ```
  • 使 html2canvas 网页
    优质
    本教程介绍如何运用html2canvas库在网页截图中嵌入自定义水印,保护图像版权和增强视觉效果。 使用html2canvas在网页上对图片添加水印的方法可以实现保护版权或标识来源的目的。这种方法通过JavaScript库将HTML内容转换为Canvas对象,并在此基础上进行图像处理以加入所需的水印信息,从而增强用户体验并防止未经授权的图片传播。
  • 使 PHP 向
    优质
    本教程详细介绍了如何利用PHP编程语言为图片添加文本及图像水印的技术与方法,帮助网站和个人博客增强版权保护或信息展示。 在使用PHP为图片添加水印(文字或图片)后发现生成的图片变得模糊的问题上,可以尝试以下方法来优化代码: 1. 确保使用的图像库支持高分辨率输出。 2. 在处理过程中保持原始图像的质量和大小不变。 3. 使用抗锯齿技术提高文本水印质量。 以下是解决办法示例代码: ```php function addWatermark($originalImage, $watermarkPath, $position = bottom-right) { // 获取原图信息 list($width, $height) = getimagesize($originalImage); // 创建图像资源并设置高质量参数 $imageResource = imagecreatefromstring(file_get_contents($originalImage)); imagesavealpha($imageResource, true); // 加载水印图片或创建文字水印 if (file_exists($watermarkPath)) { $wmWidth = imagesx(imagecreatefrompng($watermarkPath)); $wmHeight = imagesy(imagecreatefrompng($watermarkPath)); imagecopyresampled( $imageResource, imagecreatefrompng($watermarkPath), ($width - $wmWidth) / 2, //居中 ($height - $wmHeight) / 2, 0, 0, $wmWidth, $wmHeight, imagesx(imagecreatefrompng($watermarkPath)), imagesy(imagecreatefrompng($watermarkPath)) ); } else { // 创建文字水印 $text = Your Text; $fontFile = ./arial.ttf; // 字体文件路径 // 计算文本尺寸 $textBoxWidth = imagefontwidth(15) * strlen($text); $wmImageResource = imagecreatetruecolor($textBoxWidth, 20); imagesavealpha($wmImageResource, true); // 设置颜色透明度 $bgColor = imagecolorallocatealpha($wmImageResource, 255, 255, 255, 127); imagefilledrectangle($wmImageResource, 0, 0, $textBoxWidth+1, 30-1, $bgColor); // 设置字体颜色 $textColor = imagecolorallocatealpha($wmImageResource , 96, 96, 96, 5); // 添加文字水印 imagettftext( $wmImageResource, 15, 0, (imagesx($wmImageResource) - ($textBoxWidth /2)), imagesy($wmImageResource), $textColor, $fontFile, $text ); // 将文字水印添加到原始图像上 imagecopyresampled( $imageResource, $wmImageResource, ($width - imagesx($wmImageResource)) / 2 , ($height - imagesy($wmImageResource)) / 2 , 0, 0, imagesx($wmImageResource), imagesy($wmImageResource), imagesx($wmImageResource) * imageSXRatio, imagesy($wmImageResource) * imageSYRatio ); } // 输出清晰的图片结果 header(Content-Type: image/png); $quality = 9; // 调整输出质量,范围0-12,默认为7 imagepng($imageResource, null, $quality); imagedestroy($wmImageResource); imagedestroy($imageResource); } // 使用示例 addWatermark(path/to/original/image.png, path/to/watermark.png); ``` 请根据实际情况调整代码中的参数,以确保最佳效果。
  • SQLPrompt10.4.zip SQL Server 2019 使
    优质
    SQLPrompt10.4是一款在SQL Server 2019上经过全面测试且成功运行的软件工具,为数据库管理和开发提供了强大的支持。 SQLPrompt是一款由Redgate Software公司开发的广受欢迎的SQL代码智能提示与优化工具。其10.4版本能够兼容Microsoft SQL Server 2019,在最新的数据库环境中提供无缝支持,为开发者及管理员带来高效的工作体验。 该软件的主要功能包括: 1. **智能代码补全**:具备强大的自动完成功能,可快速输入常见的SQL命令、表名和列名等,显著提高编写效率与准确性。 2. **格式化美化SQL**:提供统一编码规范的自动格式化服务,并允许自定义规则以适应个人偏好。 3. **智能提示及错误检查**:在开发过程中实时给出语法建议并检测潜在问题(如无效对象引用),帮助及时发现和解决问题。 4. **性能优化指导**:针对可能影响系统效率的查询,提供索引使用或结构调整等实用建议来提升执行速度。 5. **代码片段管理器**:内置大量预设模板库,并支持用户创建个人代码片段以加速开发流程。 关于描述中的“自带解决试用期问题软件”,这通常指的是规避正式许可所需的非官方激活方法。此类做法可能违反使用条款,带来法律风险和安全威胁,因此不推荐采用这类手段来延长试用期限或非法获取完整功能。 安装SQLPrompt时,在压缩包中找到的sp文件是其安装程序简写形式。用户需运行此程序连接至目标SQL Server实例后完成部署过程,并在SSMS或其他兼容IDE内启用插件全部特性。 总之,通过集成SQL Prompt提供的多项核心工具和资源库,能显著提升开发者的生产力水平并保障代码质量和系统性能。然而,在享受这些便利的同时,请务必遵守相关法律法规及软件许可协议规定。
  • 使 PHP
    优质
    本教程详细介绍如何运用PHP技术,在图片上精准添加所需的文字内容,并讲解相关代码实现和应用场景。 在一张图片上作为画布进行处理,在图片上添加问题,并设置文字的字体。所使用的字体必须是TTF格式,并且附件提供了三种字体:微软雅黑、宋体和新宋体。
  • C#中给
    优质
    本教程详细讲解了如何使用C#编程语言向图片添加文本形式的文字水印,包括所需库引用、代码实现及示例。 C# 为图片添加水印文字的示例代码。
  • 使Java为
    优质
    本教程详解如何运用Java技术向图片中嵌入文字与图形水印,增强版权保护及信息传递效果。 用Java给图片添加文字或图像水印 【Java水印.rar】文件大小:108 KB (111,078 字节) 解压后是Java源代码。
  • C#中为
    优质
    本教程详细介绍了如何使用C#编程语言在图像上添加文字和图片水印的方法与技巧,帮助用户增强图片版权保护及美化效果。 使用C# 和 GDI+ 可以为图片添加文字或图片水印,并支持透明效果的文本与图像水印。可以自定义设置水印的位置。
  • 使itext5htmltopdf.zip将HTML转PDF
    优质
    本教程详细介绍如何利用IText5库中的htmltopdf工具包,实现从HTML文档到PDF文件的转换,并在此基础上为生成的PDF文件添加个性化水印。适合需要自动化处理大量文档转换及保护版权信息的技术人员参考和实践。 HTML转PDF并添加水印的终极解决方案可以解决之前代码中存在的问题,即水印只能出现在最后一页的问题。