用文字制作成图片

简介: 最近呢,我一个朋友要过生日,我像给她一个硬核的生日祝福。然后就想到了用文字拼成她的QQ头像

话不多说,先看示例

1a393f77157e05c22a437828b36968e.png


4d5ed683b3f8171cf689723b8b6e553.png


不多说,直接上源码! 有不会的加QQ问我,等我上几个星期的学后回家就告诉你。

#include"graphics.h"

#include"stdio.h"

int main(void)

{

char str[256] = "";//请输入要表白的话

scanf_s("%s", str, sizeof(str));

//把字符串转换成数组形式的,“我爱你”,转换成“我”,“爱”,“你”

int count = strlen(str) / 2;//计算汉字个数

char** data = (char**)malloc(sizeof(char*) * count);

for (int i = 0; i < count; i++)

{

 data[i]=(char*)malloc(sizeof(char) * 3);//"我"占两个字节+'0'

 strncpy(data[i], &str[i * 2], 2);

 data[i][2] = 0;//字符串结束符

}

initgraph(200,40);

IMAGE img;//图片需要加工

loadimage(&img,_T("zz.jpg"));

//颜色是用 红绿蓝色调配成的,用三个字节.

//int 4 个字节 char 1个字节

int width = img.getwidth();//宽度

int height = img.getheight();//高度

 int *pix=(int*)malloc(sizeof(int)*width*height);//动态内存分配

 if (pix == NULL)

 {

  printf("图片分辨率过高");

  exit(1);

 }

 SetWorkingImage(&img);//对哪个图片进行加工

 int k = 0;

 for (int i = 0; i < height; i++)

 {

  for (int j = 0; j < width; j++)

  {//取出指定位置的颜色

   pix[k++] = getpixel(j, i);//坐标是宽度和高的

  }

 }

 SetWorkingImage();//恢复默认工作区,开始画图!

 //开始使用汉字画图

 //定义一个新的图片

 IMAGE imgDest;//空图片

 //调整新图片

 /*imgDest.Resize(width, height);*/

 //调整大小

 imgDest.Resize(width * 12, height * 12);//一个像素扩充成12*12

 SetWorkingImage(&imgDest);

 //设置字体

 LOGFONT f;

 gettextstyle(&f);//获取当前的字体

 f.lfHeight = 12;

 f.lfWidth = 0;//默认

 strcpy(f.lfFaceName, "黑体");//设置字体名称

 f.lfQuality = ANTIALIASED_QUALITY;//清除锯齿

 settextstyle(&f);

 int index = 0;

 for (int i = 0; i < height; i++)

 {

  for (int j = 0; j < width; j++)

  {

   int x = j * 12;

   int y = i * 12;

   //取出颜色

   int color = pix[i * width + j];

   //设置汉字绘制颜色

   settextcolor(color);

   outtextxy(x, y,data[index]);

   index = (index + 1) % count;//对汉字进行取余

  }

 }

 SetWorkingImage();

 //把图片保存到磁盘

 saveimage("ok.jpg", &imgDest);

 //让图片自动显示出来

 system("rundll32.exe C:\\Windows\\System32\\shimgvw.dll,ImageView_Fullscreen d:\\ok.jpg");

 system("pause");

 return 0;

}

目录
相关文章
|
2月前
|
PHP 数据安全/隐私保护 计算机视觉
ThinkPHP图片处理之压缩图片大小,图片处理之图片水印(添加平铺文字水印,并设置文字之间的间距和文字的角度)
ThinkPHP图片处理之压缩图片大小,图片处理之图片水印(添加平铺文字水印,并设置文字之间的间距和文字的角度)
37 1
|
3月前
|
JavaScript 前端开发 安全
80 行 JS 代码实现页面添加水印:文字水印、多行文字水印、图片水印、文字&图片水印
80 行 JS 代码实现页面添加水印:文字水印、多行文字水印、图片水印、文字&图片水印 1. 信息标识: 水印可以用于标识文档的所有者、保密级别、状态或其他相关信息,帮助用户更好地理解文档内容的属性。 2. 版权保护: 在文档中添加水印可以帮助保护内容的版权,防止他人未经授权地复制、转载或篡改内容。 3. 安全保护: 对于敏感信息或机密文档,添加水印可以帮助防止信息泄露,提高文档的安全性。 4. 提升专业性: 在一些场景下,如商业报告、合同文件等,添加水印可以增加文档的专业性和正式性。 5. 防止截屏或拷贝: 在网页中添加水印可以防止用户通过截屏或复制粘贴等方式非法获取文档内容。
46 1
80 行 JS 代码实现页面添加水印:文字水印、多行文字水印、图片水印、文字&图片水印
|
4月前
|
C# 开发工具 数据安全/隐私保护
C# 给图片添加文字水印
C# 给图片添加文字水印
|
4月前
404彩色文字页源码下载
404彩色文字页源码下载
22 2
404彩色文字页源码下载
|
4月前
|
自然语言处理
二维码美化指南:从Logo到文字,轻松制作专属二维码
草料二维码提供基础的二维码美化设置,包含Logo、颜色、码点码眼、容错、添加文字等设置。
|
4月前
|
人工智能 搜索推荐 定位技术
证件照尺寸修改、图片背景换色、照片大小压缩…几个在线图片编辑、处理网站推荐
证件照尺寸修改、图片背景换色、照片大小压缩…几个在线图片编辑、处理网站推荐
140 1
|
算法 计算机视觉
图片的美白与美化
图片的美白与美化
110 0
|
前端开发 Android开发
制作圆形图片,你会以下几种?
制作圆形图片,你会以下几种?
制作圆形图片,你会以下几种?
|
开发者
图片与文字的修改| 学习笔记
快速学习图片与文字的修改。
102 0
图片与文字的修改| 学习笔记
|
图形学
PPT制作三大技巧:图标 、图片背景透明和自动函数
PPT制作三大技巧:图标 、图片背景透明和自动函数
277 0
PPT制作三大技巧:图标 、图片背景透明和自动函数