php中空心字体怎么打,php打印一个边长为N的实心和空心菱型的方法

news/2024/9/29 20:36:29/

本文实例讲述了php打印一个边长为N的实心和空心菱型的方法。分享给大家供大家参考。具体分析如下:

实心菱型计算方法:

$n:边长

$i:当前行,0开始

$rows:总行数

上部

前面空格数=$n-$i-1

字符数=$i*2+1

下部

前面空格数=$i-$n+1

字符数=($rows-$i)*2-1

使用 str_pad 可以减少for/while等循环

复制代码 代码如下:

/**

* 打印实心菱型

* @param  int    $n 边长,默认5

* @param  String $s 显示的字符, 默认*

* @return String

*/

function solidDiamond($n=5, $s='*'){

$str = '';

// 计算总行数

$rows = $n*2-1;

// 循环计算每行的*

for($i=0; $i

if($i

$str .= str_pad('', ($n-$i-1), ' '). str_pad('', $i*2+1, $s)."\r\n";

}else{     // 下部

$str .= str_pad('', ($i-$n+1), ' '). str_pad('', ($rows-$i)*2-1, $s). "\r\n";

}

}

return $str;

}

echo '

';

echo solidDiamond(5);

echo '

';

复制代码 代码如下:

*

***

*****

*******

*********

*******

*****

***

*

空心菱型计算方法:

$n:边长

$i:当前行,0开始

$rows:总行数

上部

前面空格数=$n-$i-1

空心的空格数=$i*2+1-2

字符数=$i*2+1 - 空心的空格数

下部

前面空格数=$i-$n+1

空心的空格数=($rows-$i)*2-1-2

字符数=($rows-$i)*2-1 - 空心的空格数

复制代码 代码如下:

/**

* 打印空心菱型

* @param  int    $n 边长,默认5

* @param  String $s 显示的字符, 默认*

* @return String

*/

function hollowDiamond($n=5, $s='*'){

$str = '';

// 计算总行数

$rows = $n*2-1;

// 循环计算每行的*

for($i=0; $i

if($i

$tmp = $i*2+1;

$str .= str_pad('', ($n-$i-1), ' '). str_pad(str_pad('', $tmp-2, ' ', STR_PAD_BOTH), $tmp, $s, STR_PAD_BOTH)."\r\n";

}else{     // 下部

$tmp = ($rows-$i)*2-1;

$str .= str_pad('', ($i-$n+1), ' '). str_pad(str_pad('', $tmp-2, ' ', STR_PAD_BOTH), $tmp, $s, STR_PAD_BOTH). "\r\n";

}

}

return $str;

}

echo '

';

echo hollowDiamond(5);

echo '

';

复制代码 代码如下:

*

* *

*   *

*     *

*       *

*     *

*   *

* *

*

希望本文所述对大家的php程序设计有所帮助。


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

相关文章

在图片中如何生成带有文字边缘空心字体?

简 介: 带有边缘的空心字体被广泛使用在各类视频的字母显示中,本文给出了一种简单的通过字体震动显示的方式产生空心字体的方法。这种方法可以在原来任何字体都生成相对应的空心字体。 关键词: 空心字体,字幕 #mermaid-svg-YrFvQk…

空心文字HTML,HTML5绘制空心的文本

HTML5绘制空心的文本 1、设计源码HTML5绘制空心的文本 /** * 绘制空心的文本 */ function drawHollowText() { //找到元素 var canvas document.getElementById("canvas"); //创建context对象 var ctx canvas.getContext("2d"); //设置字样和字体大小 ct…

java中font字体_【Java学习】Font字体类的用法介绍

一、Font类简介 Font类是用于设置图形用户界面上的字体样式的,包括字体类型(例如宋体、仿宋、Times New Roman等)、字体风格(例如斜体字、加粗等)、以及字号大小。 二、Font类的引用声明 Font类位于java.awt包中,使用时需要在代码顶端声明import java.aw…

WPF自定义空心文字

原文: WPF自定义空心文字 首先创建一个自定义控件,继承自FrameworkElement,“Generic.xaml”中可以不添加样式。 要自定义空心文字,要用到绘制格式化文本FormattedText类。FormattedText对象提供的文本格式设置功能比WPF提供的已有文本控件提…

html 空心字 以及部分艺术字

前几天做demo 的时候,遇到了一个需求,就是写一个空心字。想了半天没招,就弄了 网上的资源。 现在想想,加上查资料,感觉还是能实现的 空心字主要使用了 css3 的 text-shadow 效果大概是这样的 上代码: &l…

android 字体空心,Android空心圆及层叠效果实现代码

搜索热词 本文实例为大家分享了Android空心圆及层叠效果的具体代码,供大家参考,具体内容如下 package com.bwei.test.zidingyiview2; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.…

html中文字空心如何设置,css 中字体文本小诀窍

本篇介绍 css 几种文本修饰的案例。 1、现实中的文字效果 1.1 凸版印刷效果 背景知识:text-shadow 凸版印刷需要考虑两种情况:浅底深色字和深色浅底字 浅底深色字代码示例 凸版印刷效果之下投影:浅底深色字要下投影 .letterpress-down { back…

cmake常用命令解析

关键字 project可以⽤来指定⼯程的名字和⽀持的语⾔,默认⽀持所有语⾔。eg. project(HELLO),project(HELLO CXX)set⽤来显式指定变量,eg. set(SRC_LIST main.cpp)message向终端输出用户自定义的信息,主要包含三种信息&#xff1a…