缘起:

抖音中的设计相关主题中,现在流行展示中国色色卡,希望通过firemonkey中的相关技术实现出来。

因为是中国色,选用了《延禧攻略》中古装扮相作为主角,中国色衬底,看看效果。

结果:

用到的技术:

  1. json转成xml。
  2. xml读取。
  3. 抠图。
  4. 颜色转换。

准备工作:

1、下载color.json

1) 使用浏览器打开:http://zhongguose.com/#putaojiangzi

2)右击鼠标,查看网页源码:

3)ctrl+f,输入“json”

4)找到如下路径:

5)定位路径:http://zhongguose.com/colors.json,看到如下结果,说明猜测的路径正确。

6)下载:

使用nas下载:

2、使用在线转换json到xml格式

1)因为firemonkey读写该colors.json文件有问题(试了很长时间无果)

2)使用国外的一个在线网站进行转换(国内的bejson转换的xml无法使用)http://convertjson.com/json-to-xml.htm

[a]选择color.json上传

[b]转换完成后点击“Download Result”   按钮

3、抠图。

使用前几天的《介绍一种AI的抠图方法》的方法扣了图:

代码:

  • 加载xml文件,并将颜色放入combobox
procedure TForm1.FormCreate(Sender: TObject);//加载转换好的xml文件
varicount: Integer;colorstring: string;
beginXMLDocument1.LoadFromFile('D:\firemonkeysr\chinesecolowr\convertjson.xml');Memo1.Lines := XMLDocument1.XML; {查看}for icount := 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 dobegincolorstring := XMLDocument1.DocumentElement.ChildNodes[icount].ChildNodes['hex'].Text;colorstring:='$ff'+copy(colorstring,2,length(colorstring)-1);//注意在前面加入“$ff”,作为颜色字串Self.ComboBox1.Items.Add(colorstring);end;
end;
  • 在rectangle中fill.bitmap.bitmap中加载“皇后”的照片,并准备另一个rectangle作为背景:
procedure TForm1.Image1Click(Sender: TObject);//加载“皇后”图片,并设置背景rectangle的位置和大小
begin//在rectangle的fill.bitmap.bitmap中加入照片Rectangle1.Fill.Bitmap.Bitmap.LoadFromFile('C:\Users\winfred\Downloads\queen-removebg-preview.png');Rectangle1.Width := Rectangle1.Fill.Bitmap.Bitmap.Width / 2;Rectangle1.Height := Rectangle1.Fill.Bitmap.Bitmap.Height / 2;Rectangle1.Stroke.Kind := TBrushKind.bkNone; //边框类型,无Rectangle1.Fill.Kind := TBrushKind.bkBitmap; //填充类型,图片Rectangle1.Fill.Bitmap.WrapMode := TWrapMode.wmTileStretch; //拉伸  //准备背景控件,注意图层放在下一层Self.Rectangle3.Position.X := Self.Rectangle1.Position.X;self.Rectangle3.Position.Y := self.Rectangle1.Position.Y;Self.Rectangle3.Width := Self.Rectangle1.Width;Self.Rectangle3.Height := self.Rectangle1.Height;end;
  • 使用xml中加载的“中国色”改变背景颜色:
procedure TForm1.ImageViewer1Click(Sender: TObject);
begin//注意StrToInt64,将字符串转成颜色Self.Rectangle3.Fill.Color:=StrToInt64(ComboBox1.items[ComboBox1.ItemIndex])//;
end;
  • 生成合成后的图片保存:
procedure TForm1.SpeedButton1Click(Sender: TObject);//生成合成后的图片
vartmpbitmap: TBitmap;
begintmpbitmap := self.Layout1.MakeScreenshot;tmpbitmap.SaveToFile('d:\chinesecolor.png');
end;

下载:

链接:https://pan.baidu.com/s/1TnZiQ8hvTCuBrwOvie8a0g 
提取码:32di

火猴之中国色展示(firemonkey)相关推荐

  1. 火猴浏览器3.0的语义解析突破

    火猴浏览器3.0是火猴团队的一次重大升级,这次升级不同于往常版本的升级,可能在常人眼中看来这只是一次应用的功能上的增加和BUG修复.仅站在用户角度去探索此次应用的升级,更多的是集中在应用实用性,稳定性 ...

  2. 众目所归火猴浏览器3.0再出杀手锏

    2014年之前探索整个移动互联网的浏览器都是在功能上做研发,目的都是为了抢先占据移动互联网的入口,这其中除了巨头以外还有一些中小型的互联网公司也在浏览器上做尝试,事实上浏览器的功能性革命到2014年底 ...

  3. 火猴之图片立体翻转效果展示(firemonkey)

    结果: 思路: 1.使用firemonkey之3d应用 2.layout3d+image3d+textlayer3d 3.使用floatanimation改变image3d的rotation的角度实现 ...

  4. 基于AI在线抠图结合火猴中scalelayout的应用效果展示(提供下载)(firemonkey)

    缘起: 想检验一下AI在线抠图后的照片效果,决定时候firemonkey中的相关技术,看看效果: 效果: 其中: scalelayout是为了适应各种屏幕尺寸而诞生的,但是生效必须将align设成cl ...

  5. 火猴之烟花效果展示(firemonkey)

    效果图如下: 思路: 1.在画板中使用字符工具,输入"世界 ,你好",字体是华文琥珀,大小为150. 2.使用remove.bg抠图工具,将文字图片上传,处理完后下载. 3.使用f ...

  6. 火猴之抽奖大转盘(firemonkey)

    活动中往往有抽奖环节,如何使用firemonkey制作一个抽奖的程序呢? 效果: 思路: 1.rectangle+line+text作为可以转动的转盘和指针以及按钮. 2.pie 共 10个作为不同颜 ...

  7. 火猴之产品组成热点图编程(firemonkey)

    效果图: 用途: 地图.产品组成 举例: 以产品组成为例,如最近最火的机甲大师: 思路: 1.组件:TMSFMXHotSpotImage1+TMSFMXHTMLText1 2.加载背景+编辑热点区域+ ...

  8. 火猴之ppt动画效果实现(firemonkey)

    看到一个ppt的动画效果,如下: 圆环放大效果: 一个circle+floatanimation,设置属性,使用floatanimation动画增加circle的width,并在动画组件的proces ...

  9. 火猴之动画字幕显示(firemonkey)

    突发奇想,在古色古香的画卷上动画般显示唐诗: 思路: 1.使用TMSFMXHTMLTEXT组件显示诗句文字.先将width设成0. 2.使用定时拉长1中TMSFMXHTMLTEXT组件的width. ...

最新文章

  1. 歌手比赛系统c语言程序注释,C语言程序课程设计—歌手比赛系统(20页)-原创力文档...
  2. 单板机 单片机 c语言,单板机 单片机 个人计算机有什么区别吗
  3. SDN精华问答 | 为什么SDN要花这么长时间才被采用?
  4. iOS build faad
  5. java volatile关键字的理解
  6. pytorch中保存和加载模型
  7. python 文本向量化_TFIDF向量化文档时出现问题?
  8. Eclipse设置中文汉化
  9. linux如何安装github下载的东西,Linux如何安装使用GitHub
  10. React使用ECharts
  11. java正则表达式yyyymmdd_正则表达式校验YYYYMMDD日期格式
  12. 中国地级以上城市的经纬度——excel文件
  13. 【HTML+CSS+JS】注册页面模板
  14. CISSP-考纲分析
  15. Excel如何简单快速的建立二级下拉菜单?
  16. CAD门窗lisp_CAD高版本窗体阵列LISP_高版本CAD如何显示阵列窗口?
  17. 英语日常口语对话(2)
  18. scp命令传输文件,显示的ETA符号是什么意思
  19. 实现所有网站的qq登录返回登录后的cookie信息
  20. VC驿站一个不错的学习编程的地方

热门文章

  1. 03-Python基础语法(下)
  2. 原来勾股定理可以这样证!
  3. UOJ #141. 【UER #4】量子态的棋盘
  4. Git入门-github
  5. 多图层绘制方法(使用Origin)
  6. RS485通信的学习以及思考
  7. 【沐风老师】教你在3dMax中使用Greeble插件结合变形修改器建模
  8. 破解验证码利器及使用利器
  9. 服务器被黑客用来挖矿?怎么办?
  10. unity2D小鸟飞过柱子小游戏