import javaawtColor;
import javaawtFont;
import javaawtGradientPaint;
import javaawtGraphics;
import javaawtGraphics2D;
import javaawtImage;
import javaawteventMouseAdapter;
import javaawteventMouseEvent;
import javaawtgeomAffineTransform;
import javaawtimageAffineTransformOp;
import javaawtimageBufferedImage;
import javaioBufferedReader;
import javaioStringReader;
import javautilArrayList;
import javaxswingJFrame;
import javaxswingJLabel;
public class PoetryTest {
public static void main(String[] args) throws Exception {
final JFrame f = new JFrame();
final ArrayList<Poetry> ps = PContentsload();
final PoetryLabel plabel = new PoetryLabel();
fsetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
fadd(plabel);
fsetSize(320,268);
fsetLocationRelativeTo(null);
fsetVisible(true);
plabelsetPoetry(psget(0));
fsetTitle(plabelgetTitle()+"-"+plabelgetAuthor());
plabeladdMouseListener(new MouseAdapter(){
int index;
public void mouseClicked(MouseEvent e){
++index;
index=index%pssize();
Poetry p = psget(index);
plabelsetPoetry(p);
fsetTitle(plabelgetTitle()+"-"+plabelgetAuthor());
}
});
}
}
//呈现诗歌的标签类
class PoetryLabel extends JLabel{
private static final Color tColor = Colorwhite;//标题颜色
private static final Color aColor = Coloryellow;//作者颜色
private static final Color cColor = ColorLIGHT_GRAY;//内容颜色
private static final int fontSize=16;//字体大小
private static final int tType = FontBOLD;//标题字体样式为粗体
private static final int aType = FontITALIC;//作者字体样式为斜体
private static final int cType = FontPLAIN;//内容字体样式为普通样式
private static final float scaleFactor = 12f;//标题字体大小比其它字体大
private static final String fontName="SimSun";//字体名称
private static final int offset=5,space=5;
private Font font;
private AffineTransform at;
private Poetry poem;
public PoetryLabel(){
thispoem=new Poetry();
thisfont=new Font(fontName,cType,fontSize);
thissetHorizontalAlignment(JLabelCENTER);
thissetVerticalAlignment(JLabelCENTER);
at = new AffineTransform();
atsetToRotation(MathtoRadians(-90));
font = fontderiveFont(at);//将字体逆时针旋转90°
}
public Poetry getPoetry() {
return poem;
}
//设置诗歌,来初始化标签内容
public void setPoetry(Poetry s){
thispoem=s;
thisrepaint();
}
public String getTitle(){return poemtitle;}
public String getAuthor(){return poemauthor;}
//创建图像,先将逆时针旋转了90°的文件画上,然后将整幅图像顺时针旋转90°
private Image createImage(){
int x;
int y=offset;
int w = getTWidth(poem);
int h = getTHeight(poem);
BufferedImage img = new BufferedImage(w,h,BufferedImageTYPE_INT_ARGB);
Graphics2D g = imgcreateGraphics();
//draw title
gsetColor(tColor);
Font tfont = fontderiveFont(fontgetSize()scaleFactor)deriveFont(tType);
gsetFont(tfont);
y+=tfontgetSize();
char[] cs = poemtitletoCharArray();
for(int i=0; i<cslength; i++){
x=(i+1)(tfontgetSize()+space)+offset;
gdrawChars(cs, i, 1, x, y);
}
//draw author
y+=space2+tfontgetSize();
cs = poemauthortoCharArray();
tfont = fontderiveFont(aType);
gsetColor(aColor);
gsetFont(tfont);
for(int i=0; i<cslength; i++){
x=(i+1)(tfontgetSize()+space)+offset;
gdrawChars(cs, i, 1, x, y);
}
//draw contents
y+=space3;
gsetColor(cColor);
gsetFont(font);
for(int i=0; i<poemcontentssize(); i++){
y+=fontSize+space;
cs = poemcontentsget(i)toCharArray();
for(int j=0; j<cslength; j++){
x=(j+1)(tfontgetSize()+space)+offset;
gdrawChars(cs, j, 1, x, y);
}
}
gdispose();
return thisgetRotateImage(img);
}
//将图像顺时针旋转90°
private Image getRotateImage(final BufferedImage img) {
int w = imggetWidth();
int h = imggetHeight();
BufferedImage newImg = new BufferedImage(h,w,2);
AffineTransformOp op = new AffineTransformOp(AffineTransform
getRotateInstance(MathtoRadians(90),h/2,h/2),null);
return opfilter(img,newImg);
}
//绘图
public void paint(Graphics gg){
BufferedImage img = (BufferedImage)thiscreateImage();
int iw = imggetWidth();
int ih = imggetHeight();
Graphics2D g = (Graphics2D)gg;
int w = thisgetWidth();
int h = thisgetHeight();
gsetPaint(new GradientPaint(0,0,ColorDARK_GRAY,0,h,Colorblack));
gfillRect(0,0,w,h);
int x = (w-iw)/2;
int y = (h-ih)/2;
gdrawImage(img, x, y, this);
gdispose();
}
//计算的高度
private int getTHeight(Poetry s) {
int h = offset2+space5;
h+=(int)(fontSize(scaleFactor+1));
h+=(fontSize+space2)scontentssize();
return h;
}
//计算的宽度
private int getTWidth(Poetry s) {
int tl = (int)(stitlelength()(fontSizescaleFactor+space)+offset2);
int al = sauthorlength()(fontSize+space)+offset2;
int t;
int max = tl>altl:al;
for(int i=0; i<scontentssize(); i++){
t = scontentsget(i)length()(fontSize+space)+offset2;
max=max>tmax:t;
}
return max;
}
}
//诗歌类
class Poetry{
public String title;//标题
public String author;//作者
public ArrayList<String> contents=new ArrayList<String>();//内容
public void addLine(String s){thiscontentsadd(s);}//加入一行内容
}
//
class PContents{
public static String s=
"苏武庙\r\n"+
"温庭筠\r\n"+
"苏武魂销汉使前,\r\n"+
"古祠高树两茫然。\r\n"+
"云边雁断胡天月,\r\n"+
"陇上羊归塞草烟。\r\n"+
"回日楼台非甲帐,\r\n"+
"去时冠剑是丁年。\r\n"+
"茂陵不见封侯印,\r\n"+
"空向秋波哭逝川。\r\n"+
"\r\n"+
"贫女\r\n"+
"秦韬玉\r\n"+
"蓬门未识绮罗香,\r\n"+
"拟托良媒益自伤。\r\n"+
"谁爱风流高格调?\r\n"+
"共怜时世俭梳妆。\r\n"+
"敢将十指夸针巧,\r\n"+
"不把双眉斗画长。\r\n"+
"苦恨年年压金线,\r\n"+
"为他人作嫁衣裳。\r\n"+
"\r\n"+
"宫词\r\n"+
"薛逢\r\n"+
"十二楼中尽晓妆,\r\n"+
"望仙楼上望君王。\r\n"+
"锁衔金兽连环冷,\r\n"+
"水滴铜龙昼漏长。\r\n"+
"云髻罢梳还对镜,\r\n"+
"罗衣欲换更添香。\r\n"+
"遥窥正殿帘开处,\r\n"+
"袍裤宫人扫御床。\r\n"+
"\r\n"+
"利洲南渡\r\n"+
"温庭筠\r\n"+
"澹然空水对斜晖,\r\n"+
"曲岛苍茫接翠微。\r\n"+
"波上马嘶看棹去,\r\n"+
"柳边人歇待船归。\r\n"+
"数丛沙草群鸥散,\r\n"+
"万顷江田一鹭飞。\r\n"+
"谁解乘舟寻范蠡,\r\n"+
"五湖烟水独忘机?\r\n"+
"\r\n"+
"无题二首之一\r\n"+
"李商隐\r\n"+
"凤尾香罗薄几重,\r\n"+
"碧文圆顶夜深缝。\r\n"+
"扇裁月魄羞难掩,\r\n"+
"车走雷声语未通。\r\n"+
"曾是寂寥金烬暗,\r\n"+
"断无消息石榴红。\r\n"+
"斑骓只系垂杨岸,\r\n"+
"何处西南任好风?\r\n"+
"\r\n"+
"无题二首之二\r\n"+
"李商隐\r\n"+
"重帷深下莫愁堂,\r\n"+
"卧后清宵细细长。\r\n"+
"神女生涯原是梦,\r\n"+
"小姑居处本无郎。\r\n"+
"风波不信菱枝弱,\r\n"+
"月露谁教桂叶香?\r\n"+
"直道相思了无益,\r\n"+
"未妨惆怅是清狂。\r\n"+
"\r\n"+
"金陵图\r\n"+
"韦庄\r\n"+
"江雨霏霏江草齐,\r\n"+
"六朝如梦鸟空啼。\r\n"+
"无情最是台城柳,\r\n"+
"依旧烟笼十里堤。\r\n" +
"\r\n"
;
public static ArrayList<Poetry> load() throws Exception{
ArrayList<Poetry> list = new ArrayList<Poetry>();
BufferedReader br = new BufferedReader(new StringReader(s));
Poetry p = null;
String t = null;
while((t = brreadLine()) != null){
if(p==null)
p=new Poetry();
if(tisEmpty()){
listadd(p);
p=null;
}
else if(ptitle==null)
ptitle=t;
else if(pauthor==null)
pauthor=t;
else
paddLine(t);
}
return list;
}
}
最开始是因为计算机上面可以玩游戏,后来觉得使用计算机很酷,从无到有创造的过程很神圣而且很帅,义无反顾地报考了计算机专业,工作后,在编码的过程中痛并快乐着,会得越多,越觉得有趣,觉得选择这个职业很靠谱,写代码的感觉很幸福。
之前,体验过一款教育类软件,笔神写作APP。系统通过算法,在中学生用户进行写作时,根据输入的词语和句子,实时推荐素材,有优美描写句、古诗词、名人名言等。系统希望以此帮助学生们轻轻松松就能“写出”一篇作文,卖点是否恰当,这里不讨论。
令我印象深刻的是这款产品研发的缘起。
创始人宋嘉伟,身兼“技术达人”和“作家”的身份标签,曾任曾任索尼公司高级系统架构师,后自己创办人工智能科技公司。
2017年,他创业失败,人生跌入低谷。满腔郁愤的他,给自己放假一年。
他感到胸中块垒不吐不快,于是他遇到写作,放下是非得失,听凭内心召唤和驱使去做一件想做的事。
最终,他以自己真实创业经历为原型完成长篇小说《试错》。这部小说获得真故第一届小说奖首奖,获得奖金10万,并且卖出了影视版权100万。
更为重要的是,他在自己亲身创作小说的过程中,凭借自身技术和用户积淀,发觉了痛点,嗅到了商机,研发了笔神写作系统。以此为新的创业项目,立马获得资本青睐,目前公司估值上亿。
他的人生,登上更高峰。
他说:“我幻想过千万种被世人认识的方式,但从未想过会是写作。”
今天,又了解到另一个故事。
搜韵网,有“中国最好用的诗词门户网站”的美称。
创建人陈逸云,微软中国工程院工程师。他从小语文成绩不好,理科成绩出众。但是受家庭影响,他热爱古诗词,为古诗简洁的语言而着迷。所以,尽管运营成本一直在增加,他的网站仍然一直是公益免费。
自称“古诗词狂热者”的他,利用业余时间,于2009年创办搜韵网。至今,搜韵的古诗词已逾100万首,独立研发的韵典、诗词校验、诗词检索成为众多诗词爱好者、研究者喜爱的实用工具。
2017年,他利用数据挖掘技术研发的“唐宋文学编年地图”,迅速刷爆互联网。打开这张与众不同的“诗词地图”,一个一个耳熟能详的远古诗人仿佛重获新生,穿越千年降临现代。鼠标停留处,同步d出时间、地理、诗人、历史事件和作品,立体展示唐宋诗词文化的魅力。让我们这些与传统文化渐行渐远的人们,重新感受到了古诗词的趣味。
由此衍生出《有人将李白杜甫苏东坡的一生旅行足迹做成地图,发现大事情了》《唐代人去过的地方,为什么比你还多?》等抓人眼球、震撼人心的爆文。
我清楚记得自己当时看到杜甫一生遍布中国大地的足迹时,想到这位贫病交加的大诗圣,想到古人出行的万般艰难,真的是感动到落泪!
这就是一个程序员爱上诗歌后,结出的美丽果实。
从这两个故事中,我看到“热爱”的力量。
“热爱”是打心底里想做一件事,并且不问付出、不计得失地去行动,去做起来了。
这样日积月累,由于始终坚持做那件“热爱”的事情,内心收获的是充实、丰盈和踏实。
每个人内心的能量池都在积蓄,越积越满,“热爱”是内心能量输出的锚点。
内心力量之源汩汩流出,流入那片热爱之土,去浇灌,无论长出的是芸芸草芥还是醒目花朵。
正因为这种出于热爱而不问东西的坚韧行动力,往往,会结出意想不到的惊喜。
人说越努力越幸运,耕耘一角热爱之土,也就是在给自己的人生铸造幸运筹码。
现在似乎越来越多的“斜杠青年”,有的人可能真的是精力充沛,学习能力超强,可以同时跨界多个领域,成为多方面的专业人士。
但也可能,更多人无法把“兴趣”变为职业,远方的“热爱”没法像眼下的工作那样当饭吃,无法成为一个“靠做自己喜欢的事情生活”的人。
我们常说“八小时之内为生存,八小时之外为发展。”实际中,我们往往八小时之内“在工作中”,八小时之外“在准备工作”,学习各种工作技能、职场充电……如果工作就是自己的热爱所在,这样未尝不可。如果不是,不妨放下工作,给生活一点时间。
人生就像骑单车吧,一直小心翼翼握着车把;或许最惬意的是放开双手的瞬间——才能感到自己在飞翔。
飞花令——目前史上第一款也唯一一款飞花令手机app,这款“飞花令”app既可以让你痛快的玩诗词游戏。
手机软件,主要指安装在智能手机上的软件,完善原始系统的不足与个性化。使手机完善其功能,为用户提供更丰富的使用体验的主要手段。
手机软件的运行需要有相应的手机系统,截至2017年6月1日,主要的手机系统:苹果公司的iOS、谷歌公司的Android(安卓)系统、塞班平台和微软平台。
2019年11月4日,工业和信息化部信息通信管理局组织召开APP侵害用户权益行为专项整治工作启动部署会,将重点对违规收集用户个人信息、违规使用用户个人信息、不合理索取用户权限、为用户账户注销设置障碍四个方面的8类问题开展规范整治工作。
智能手机,是指像个人电脑一样,具有独立的 *** 作系统、独立的运行空间,可以由用户自行安装软件、游戏、导航等第三方服务商提供的程序,并可以通过移动通讯网络来实现无线网络接入手机类型的总称。
写诗投稿赚钱的方式:第一种 ,收徒;第二种,卖软件;第三种,流量主变现。
诗词歌赋,很少有人能靠这个赚钱。
抖音直播写诗却能赚钱,在抖音上开直播, 现场帮人的名字写成一首五言或者七言的藏头诗,有人送礼物就帮他写。
变现非常简单,就是刷礼物。前期人少的时候,可以让观众在评论区留下自己的名字,然后你给他写诗。当人多了,刷礼物才能给他写诗。
这种直播方式挺吸引人,容易转化变现。
观众看到主播在帮人私人定制写藏头诗,他们很大概率也会想要让主播给自己做一首诗,满足自己的“虚荣”心理。
直播打赏是最基本的赚钱变现方式。
其余的变现方式,和其他的玩法基本相似
第一种 ,收徒
一个人收个399,一天收一个,那也是月入过万了。
第二种,卖软件
别人挖矿你卖铲子,写诗,尤其是这种口水诗,AI就可以完成,不需要你有才气,只需要你去找到相应的软件。当有人想要这样的一个工具,那么你就可以卖软件了,39元。
第三种,流量主变现。
搭建一个小程序,当观众想要一首诗,就需要进入小程序,去生成,通过小程序流量主变现了。
直播打赏为主,其他为辅,多重变现。
那这个项目该如何 *** 作呢 ?
直播
简单一点就是obs,设置场景,只显示word文档,当有人发出名字,你就利用软件,生成,然后手打上去
笨一点方法,就是直接手机拍摄直播,对着电脑的word,有人发名字,你就利用另一台电脑,进行生成,然后手打上去。
当然不要一下子就把诗句放上,要一个字一个字地打,装出现场创作诗句的样子。
视频
把古代名人的名字做成藏头诗,做成或者就直接录制你写诗打字的过程,添加背景音乐和动态特效,添加文案。
每一个视频末尾再添加一个文案,引导观众留下自己想要生成的诗的名字,你的下一期视频从评论区里节选用户留言来生成藏头诗,这样,不仅可以有效的增加互动,还可以提高完播率。
在做这个账号的时候,你已经形成了一个诗人的人设,那么慢慢的你就可以带书卖货,做成书单号了
以上就是关于写一个java程序 将一首古诗竖着排序从右往左读全部的内容,包括:写一个java程序 将一首古诗竖着排序从右往左读、你为什么会成为了一个程序员、当一个程序猿爱上诗歌等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)