火猴之中国色展示(firemonkey)

news/2024/11/14 12:58:21/

 

缘起:

抖音中的设计相关主题中,现在流行展示中国色色卡,希望通过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 
 


http://www.ppmy.cn/news/595612.html

相关文章

火狐FoxyProxy插件的安装

第一步:打开火狐浏览器,找到右侧的三道杠标志(点击①)再找到扩展和主题(点击②) 第二步:在左侧找到扩展(点击①) 在搜索栏输入 FoxyProxy (输入①) 第三步:搜索栏输入 FoxyProxy 后搜索后 点击搜索到的第一个 FoxyProxy standard…

火狐浏览器插件大全

火狐浏览器需要添加的插件。大集合下载地址。以及文字说明。开始了,大家注意。1.记住这个网址,火狐推荐插件官网。http://www.g-fox.cn/hotaddons.html?srcchina-start,已经基本满足你的挑剔了。里面的插件很实用。2.插件必选包。----------…

初窥火狐浏览器插件后门

插件的基本机构及其作用 1、manifest.json 这个文件是每个插件都必须有的一个文件(其他的文件是可选的),它定义了插件的所有的信息,如权限,要引入哪些脚本,包含哪些资源等等。 2、Background pages 后台执…

Burp Suite配置火狐浏览器代理

1、下载火狐浏览器 首先准备好火狐浏览器,在自己已有的浏览器中下载火狐浏览器。Firefox 火狐浏览器 - 全新、安全、快速 | 官方最新下载https://www.firefox.com.cn/ 2、配置火狐浏览器代理 打开火狐浏览器后按以下步骤打开设置,然后在网络设置里面点…

Burp Suite代理和火狐浏览器设置

1. Burp Suite设置 1)启动,选择Proxy->Options选项卡,Proxy Listeners 勾选127.0.0.1:8080 2. FireFox设置 1)工具->选项->高级>网络; 连接设置:勾选“手动配置代理”HTTP代理 127.0.0.1&a…

fiddler设置火狐浏览器代理

参考火地晋的博客,网址:http://www.cnblogs.com/yelaiju/archive/2013/06/14/3135480.html 1 firefox使用AutoProxy作为代理,点击AutoProxy中首选项->代理服务器(S)->编辑代理服务器->添加代理->输入diddler,代理主…

火狐浏览器hackbar安装使用教程

火狐浏览器hackbar安装使用教程 首先先打开火狐自带的扩展和主题 在搜索框中搜索hackbar 由于hackbar现在收费了,这里直接使用hackbarV2来进行平替。 接下来使用F12或者手动打开web开发者工具。 查看效果 使用的第一步就是先去点击load URL导入URL 通过在框里修改…

(转载)从0开始学matlab(第4天)—子数组

你可以选择和使用一个 MATLAB 函数的子集,好像他们是独立的数组一样。在数组名后面加括号,括号里面是所有要选择的元素的下标,这样就能选择这个函数的子集了。例如,假设定义了一个数组 arr1 如下 arr1[1.1 -2.2 3.3 -4.4 5.5] 那…