一个很笨的字体勾边的方法

 

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    img_1: TImage;
    Btn_1: TButton;
    Btn_2: TButton;
    procedure Btn_1Click(Sender: TObject);
    procedure Btn_2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Btn_1Click(Sender: TObject);
begin
  img_1.Canvas.Font.Size :=140;
  img_1.Canvas.Font.Name := '华文行楷';
  img_1.Canvas.TextOut( 5,5,'罗韵睿');
end;

procedure TForm1.Btn_2Click(Sender: TObject);
  procedure SetPointerColor(x,y:Integer);
  begin
    if img_1.Canvas.Pixels[x,y] <>clBlack then
      img_1.Canvas.Pixels[x,y] := clRed;
  end;
var
  i,j :Integer;
  p:Pointer;
begin
  for I := 0 to img_1.Width -1 do
  for j := 0 to img_1.Height - 1 do begin
    if img_1.Canvas.Pixels[i,j] =clBlack then begin
      SetPointerColor(i-1,j);
      SetPointerColor(i+1,j);
      SetPointerColor(i,j-1);
      SetPointerColor(i,j+1);
      SetPointerColor(i+1,j+1);
      SetPointerColor(i-1,j-1);
      SetPointerColor(i-1,j+1);
      SetPointerColor(i+1,j-1);
    end;
  end;
end;

end.


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 pyecharts 中绘制带有形状勾边的词云图,可以按照以下步骤进行: 1. 导入需要的库和模块: ```python from pyecharts.charts import WordCloud from pyecharts import options as opts from pyecharts.globals import SymbolType ``` 2. 创建一个 WordCloud 对象并设置基本属性: ```python wc = WordCloud() wc.add("", data, word_size_range=[20, 100], shape=SymbolType.DIAMOND) ``` 其中,`data` 是词云图的数据,`word_size_range` 是词云图中字体大小的范围,`shape` 是词云图的形状,可以选择圆形、矩形、菱形等,这里选择了菱形。 3. 为词云图添加样式: ```python wc.set_global_opts( title_opts=opts.TitleOpts( title="形状勾边词云图", title_textstyle_opts=opts.TextStyleOpts(font_size=23) ), tooltip_opts=opts.TooltipOpts(is_show=True), legend_opts=opts.LegendOpts(is_show=False), ) ``` 其中,`title_opts` 是设置词云图的标题样式,`tooltip_opts` 是设置鼠标悬停时的提示框样式,`legend_opts` 是设置图例的样式。 4. 为词云图添加形状勾边: ```python wc.reversal_axis() wc.set_series_opts( **{ "background_color": "white", "border_color": "#ccc", "border_width": 1, "shadow_blur": 10, "shadow_color": "#aaa", "shape": "diamond", } ) ``` 其中,`reversal_axis()` 是将 x 轴和 y 轴对调,以便能够实现形状勾边的效果。`set_series_opts` 则是设置词云图的系列样式,包括背景色、边框颜色、边框宽度、阴影模糊度、阴影颜色和形状等。 最终的代码如下: ```python from pyecharts.charts import WordCloud from pyecharts import options as opts from pyecharts.globals import SymbolType data = [ ("Python", 80), ("Java", 50), ("C++", 40), ("JavaScript", 30), ("PHP", 20), ("HTML", 10), ] wc = WordCloud() wc.add("", data, word_size_range=[20, 100], shape=SymbolType.DIAMOND) wc.set_global_opts( title_opts=opts.TitleOpts( title="形状勾边词云图", title_textstyle_opts=opts.TextStyleOpts(font_size=23) ), tooltip_opts=opts.TooltipOpts(is_show=True), legend_opts=opts.LegendOpts(is_show=False), ) wc.reversal_axis() wc.set_series_opts( **{ "background_color": "white", "border_color": "#ccc", "border_width": 1, "shadow_blur": 10, "shadow_color": "#aaa", "shape": "diamond", } ) wc.render("shape_wordcloud.html") ``` 运行后可以生成一个形状勾边的词云图,保存在当前目录下的 `shape_wordcloud.html` 文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值