精华内容
下载资源
问答
  • //背景图片 Bitmap bmp = new Bitmap(imgBg.Width, imgBg.Height); using (Graphics g = Graphics.FromImage(bmp)) { g.DrawImage(imgBg, 0, 0); Font font = new Font("宋体", 25, FontStyle.Bold); ...

    主窗体代码如下:

        using System;  
        using System.Collections.Generic;  
        using System.ComponentModel;  
        using System.Data;  
        using System.Drawing;  
        using System.Linq;  
        using System.Text;  
        using System.Windows.Forms;  
        using System.IO;  
        using System.Drawing.Drawing2D;  
          
          
        public partial class Form5 : Form  
        {  
            public Form5()  
            {  
                InitializeComponent();  
            }  
            private void button1_Click(object sender, EventArgs e)  
            {  
                Image imgBg = ReturnImage("bg.jpg");//背景图片              
                Bitmap bmp = new Bitmap(imgBg.Width, imgBg.Height);  
                using (Graphics g = Graphics.FromImage(bmp))  
                {  
                    g.DrawImage(imgBg, 0, 0);  
                    Font font = new Font("宋体", 25, FontStyle.Bold);  
                    string s = Calendar.GetCalendar(DateTime.Now.Year, DateTime.Now.Month);  
                    g.DrawString(s, font, new SolidBrush(Color.Yellow), imgBg.Width - 400, 10);  
          
                    bmp.Save("new.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);  
                }  
            }  
            private Image ReturnImage(string imgPath)  
            {  
                using (FileStream fs = File.OpenRead(imgPath))  
                {  
                    Image img = Image.FromStream(fs);  
                    return img;  
                }  
            }  
        }  
    

     生成日历的代码如下:

        using System;  
        using System.Collections.Generic;  
        using System.Linq;  
        using System.Text;  
        using System.Windows.Forms;  
          
        public class Calendar  
        {  
            public static string GetCalendar(int year, int month)  
            {  
                StringBuilder builder = new StringBuilder();  
                builder.Append(" 日 一 二 三 四 五 六\r\n");  
                int hawdays = GetWeeksOfDate(year, month, 1); //这个月的第一天星期几  
                int days = GetDaysOfMonth(year, month); //获取想要输出月份的天数  
                
                for (int i = 1; i <= hawdays * 3; i++) //打印第一排前面的空格  
                {  
                    builder.Append(" ");  
                }  
                builder.Append(" ");  
                for (int j = 1; j <= days; j++)  
                {  
                    builder.Append(j.ToString().PadLeft(3, ' '));  
          
                    if ((hawdays + j) % 7 == 0)  
                        builder.Append("\r\n");  
                }  
                return builder.ToString();  
            }  
              
            //计算星期几: 星期日至星期六的值为0-6  
            public static int GetWeeksOfDate(int year, int month, int day)  
            {  
                DateTime dt = new DateTime(year, month, day);  
                DayOfWeek d = dt.DayOfWeek;  
                return Convert.ToInt32(d);  
            }  
            //获取指定年月的天数  
            public static int GetDaysOfMonth(int year, int month)  
            {  
                DateTime dtCur = new DateTime(year, month, 1);  
                int days = dtCur.AddMonths(1).AddDays(-1).Day;  
                return days;  
            }  
        }  
    

     效果如下:

    展开全文
  • 我想做个简单的电子日历,我想设置个可以随月份改变而改变的背景(我把背景设置为图片)请问该怎么做。
  • //设置指定日期(注意月份范围是0-11) //calendar.set(2013, 10, 9); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); int day = calendar.get(Calendar.DATE); //...
    import java.text.*;  
    import java.awt.*;
    import javax.swing.*;
    import java.util.*;  
    import java.io.*;
    import javax.imageio.*;
    import java.awt.image.BufferedImage;
    
    
    public class GuiDemo4{
      
      public static void main(String[] args){
          GuiDemo4 gui = new GuiDemo4();
          gui.go();
      }
      public void go(){
          //创建 JFrame
          JFrame frame = new JFrame();
          //窗口关闭退出应该程序
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
          //画图
          MyDrawPanel drawPanel = new MyDrawPanel();    
          frame.getContentPane().add(drawPanel);
    
          //设置大小、可见
          frame.setSize(300,300);
          frame.setVisible(true);   
        
          drawPanel.repaint();   
    
          File f = new File("test.jpg");  
          exportOtherShapesImage(f, drawPanel);     
      }
      //保存为图片
      public boolean exportOtherShapesImage(File f, MyDrawPanel panel) {
          Dimension imageSize = panel.getSize();
          BufferedImage image = new BufferedImage(imageSize.width, imageSize.height, BufferedImage.TYPE_INT_ARGB);
          Graphics2D g = image.createGraphics();
          panel.paint(g);
          g.dispose();
          try {
              ImageIO.write(image, "png", f);
          } catch (IOException e) {
              e.printStackTrace();
              return false;
          }
          System.out.println("export Image -->" + f.getAbsoluteFile());
          return true;
      }
      class MyDrawPanel extends JPanel{
         public void paintComponent(Graphics g) {       
            //画圆角矩形
            g.drawRoundRect(10, 10, 260, 260, 10, 10);
            g.drawRoundRect(12, 12, 256, 256, 8, 8);
    
            //设置字体
            Font font1 = new Font("TimesRoman", Font.PLAIN, 15); 
            Font font2 = new Font("TimesRoman", Font.BOLD, 18); 
    
            g.setFont(font1);
    
            //当前日期
            Calendar calendar = Calendar.getInstance(); 
            //设置指定日期(注意月份范围是0-11)
            //calendar.set(2013, 10, 9);  
    
            int year = calendar.get(Calendar.YEAR);
            int month = calendar.get(Calendar.MONTH);
            int day = calendar.get(Calendar.DATE);
          
            //当前月的第一天是星期几
            int day1st = getWeeksOfDate(year, month, 1); 
            //当前月有多少天
            int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); 
    
            int startX = 25; //开始的X轴位置
            int startY = 28; //开始的Y轴位置
            int posLen = 35; //每次移动的位置长度
            int x = startX + day1st * posLen; //1号的开始X轴位置
            int y = startY + posLen * 2;//1号的开始Y轴位置
    
            //画年月日
            String currentDate = year + "年" + (month + 1) + "月" + day + "日";
            g.drawString(currentDate, 100, startY);
    
            //画年月日下面的直线
            g.drawLine(12, startY+8, 267, startY+8);
    
            //画星期
            String[] weeks  = new String[] {"日", "一", "二", "三", "四", "五", "六"};
            for (int i = 0; i < weeks.length; i++)
                 g.drawString(weeks[i], startX + posLen * i, startY + posLen);
    
            //画日期
            for (int j = 1; j <= days; j++){
                 if (j == day){ 
                    //如果是今天,设置字体和颜色
                     g.setFont(font2);
                     g.setColor(Color.BLUE);                              
                 }
                 else{
                     g.setFont(font1);   
                     g.setColor(Color.BLACK); 
                 }
                 String s = padLeft(Integer.toString(j), 2); 
                 g.drawString(s, x, y);  
    
                 //星期六结束到星期日时换行,X轴回到初始位置,Y轴增加
                 if ((day1st + j) % 7 == 0){
                     x = startX;
                     y = y + posLen - 5;
                 } 
                 else
                     x = x + posLen;
            }  
         }
    
         public String padRight(String s, int n) {
             return String.format("%1$-" + n + "s", s);  
         }
         public String padLeft(String s, int n) {
             return String.format("%1$" + n + "s", s);  
         }
         // 计算星期几: 星期日至星期六的值为0-6
         public int getWeeksOfDate(int year, int month, int day)
         {
                Calendar calendar = Calendar.getInstance();   
                calendar.set(year, month, day);  
                return calendar.get(Calendar.DAY_OF_WEEK)-1; 
         }  
      }
    }
    
    

    结果如下:

    展开全文
  • php日历签php日历签到01 01 of 05 共05 获取日历变量 ( Getting Calendar Variables ) ... 吉拉夏/盖蒂图片社 PHP calendars can be useful. You can do things as simple as showing the date, and as compl...

    php日历签php日历签到

    获取日历变量 ( Getting Calendar Variables )

    woman working on computer

     gilaxia/Getty Images

    吉拉夏/盖蒂图片社

    PHP calendars can be useful. You can do things as simple as showing the date, and as complex as setting up an online booking system. This article shows how to generate a simple PHP calendar. When you understand how to do this, you will be able to apply the same concepts to complex calendars you may need.

    PHP日历可能很有用。 您可以像显示日期一样简单,也可以像建立在线预订系统一样复杂。 本文介绍了如何生成简单PHP日历。 当您了解如何执行此操作后,便可以将相同的概念应用于您可能需要的复杂日历。

    
    The first part of the code sets some variables that are needed later in the script. The first step is to find out what the current date is using the time () function. Then, you can use the date () function to format the date appropriately for the $day, $month and $year variables. Finally, the code generates the name of the month, which is the title
    
    

    一周中的日子 ( Days of the Week )

    Here you take a close look at the days of the month and prepare to make the calendar table. The first thing is to determine on which day of the week the first of the month falls. With that knowledge, you use the switch () function to determine how many blank days are needed in a calendar before the first day.

    在这里,您仔细查看当月的日子并准备制作日历表。 首先是确定每月的第一天是在星期几。 有了这些知识,您就可以使用switch()函数来确定日历中第一天之前需要多少空白天。

    Next, count the total days of the month. When you know how many blank days are needed and how many total days are in the month, the calendar can be generated.

    接下来,计算每月的总天数。 当您知道需要多少个空白天以及一个月中总共有多少天时,便可以生成日历。

    标题和空白日历日 ( Headings and Blank Calendar Days )

    The first part of this code echoes the table tags, the month name and the headings for the days of the week. Then it starts a while loop that echoes empty table details, one for each blank day to count down. When the blank days are done, it stops. At the same time, the $day_count is going up by 1 each time through the loop. This keeps count to prevent putting more than seven days in a week.

    该代码的第一部分回显表标记,月份名称和一周中各天的标题。 然后,它启动一个while循环 ,该循环回显空的表详细信息,每个空白天向下计数一次。 空白的日子结束后,它停止了。 同时,循环中$ day_count每次增加1。 这样可以保持计数,以防止一周内放置超过7天。

    一个月中的天数 ( Days of the Month )

    Another while loop fills in the days of the month, but this time it counts up to the last day of the month. Each cycle echoes a table detail with the day of the month, and it repeats until it reaches the last day of the month.

    另一个while循环填充该月的日子,但是这次计数到该月的最后一天。 每个周期都与月的某天回显一个表的详细信息,并重复直到到达该月的最后一天。

    The loop also contains a conditional statement. This checks if the days of the week have reached 7—the end of the week. If it has, it starts a new row and resets the counter back to 1.

    该循环还包含一个条件语句 。 这将检查星期几是否达到7点(星期几)。 如果有,它将开始新的一行并将计数器重置为1。

    完成日历 ( Finishing the Calendar )

    One last while loop finishes the calendar. This one fills in the rest of the calendar with blank table details if needed. Then the table is closed and the script is complete.

    最后一个while循环完成日历。 如果需要,此表将用空白表详细信息填充日历的其余部分。 然后,关闭表并完成脚本。

    翻译自: https://www.thoughtco.com/simple-php-calendar-2693849

    php日历签php日历签到

    展开全文
  • 简要介绍了Tkinter的基本操作,实践作业为制作个动态日历

    写在前面的话

    Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口。Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。——摘自菜鸟教程

    官网地址:https://docs.python.org/zh-cn/3.8/library/tkinter.html

    本文参考:《程序设计导论:Python计算与应用开发实践》

    今日目标:制作一个日历界面

    动态效果如下
    在这里插入图片描述

    需要用到的组件:Label(显示文本)、gird(布局为网格)、Button(按钮)

    具体拆分一下就是:

    日历部分的数字,需要用Label来显示

    日期怎么放置,由gird控制

    NextPrevious需要由Button来控制

    下面会详细介绍一下这三个组件。觉得麻烦的同学,可以直接拖到最后看日历代码~

    1 GUI窗口

    from tkinter import * # 导入类,Python标准库,无需安装
    root = Tk() # 实例化对象
    root.mainloop() # 显示窗口
    

    2 Label组件

    2.1 显示文本

    from tkinter import *
    root = Tk()
    hello = Label(master = root, text = "Hello GUI world!") # 创建Label对象
    hello.pack() # 放置于父组件的顶部中心
    root.mainloop()
    

    2.2 显示图像

    from tkinter import *
    root = Tk()
    photo = PhotoImage(file='cake.png') # 将图片转化为tkinter可以显示的格式
    hello = Label(master=root,
                  image=photo,
                  width=300, # 标签宽度,以像素为单位
                  height=180) # 标签高度,以像素为单位
    hello.pack()
    root.mainloop()
    

    3 布局组件

    3.1 pack

    from tkinter import *
    root = Tk()
    text = Label(root,
                 font=('Helvetica',16,'bold italic'), # 设置字体,加粗、斜体、大小16点
                 width=20,             
                 foreground='white', # 字体颜色
                 background='black', # 背景颜色
                 padx=25, # 标签左右扩展25像素
                 pady=10, # 标签上下扩展10像素
                 text='This is my painting.')
    text.pack(side=BOTTOM) # 标签放在下方
    
    cake = PhotoImage(file='cake.png')
    cakeLabel = Label(root,
                      image=cake, 
                      background='white', 
                      width=150,
                      height=150,
                      borderwidth=3, # 设置标签边框宽度
                      relief=RIDGE) # 设置标签边框样式:隆起
    cakeLabel.pack(side=LEFT) # 标签放在左侧
    
    melon = PhotoImage(file='watermelon.png')
    melonLabel = Label(root,
                       background='white', 
                       width=150,
                       height=150,
                       image=melon)
    melonLabel.pack(side=RIGHT) # 标签放在右侧
    
    root.mainloop()
    

    from tkinter import *
    root = Tk()
    text = Label(root,
                 font=('Helvetica',16,'bold italic'), # 设置字体,加粗、斜体、大小16点                
                 foreground='white', # 字体颜色
                 background='black', # 背景颜色
                 padx=25, # 标签左右扩展25像素
                 pady=50, # 标签上下扩展10像素
                 text='This is my painting.\n It is a cake.')
    text.pack(side=LEFT) # 标签放在下方
    
    cake = PhotoImage(file='cake.png')
    cakeLabel = Label(root,
                      image=cake, 
                      background='white', 
                      width=150,
                      height=150,
                      borderwidth=3, # 设置标签边框宽度
                      relief=RIDGE) # 设置标签边框样式:隆起
    cakeLabel.pack(side=RIGHT) # 标签放在左侧
    
    root.mainloop()
    

    3.2 grid

    grid将组件布局为表格

    电话拨号盘GUI

    from tkinter import *
    root = Tk()
    labels = [['1','2','3'], # 文本,布局为网格
              ['4','5','6'],
              ['7','8','9'],
              ['*','0','#']]
    
    for r in range(4): # 行循环
        for c in range(3): # 列循环
            label = Label(root,
                          relief=RAISED, # 设置边框格式
                          padx=10, # 加宽标签
                          text=labels[r][c]) # 标签文本
            label.grid(row=r, column=c) # 将标签放置在r行c列
    
    root.mainloop()
    

    GUI:根据输入的年份和月份,自动生成日历

    import calendar 
    from tkinter import *
    root = Tk()
    labels = [['Mon','Tue','Wed','Thu','Fri','Sat','Sun']]
    MonthCal = calendar.monthcalendar(2020, 3)
    for i in range(len(MonthCal)):
        labels.append(MonthCal[i])
    for r in range(len(MonthCal)+1):
        for c in range(7):
            if labels[r][c] == 0:
                labels[r][c] = ' '
            label = Label(root,          
                          padx=5,
                          pady=5,
                          text=str(labels[r][c]))        
            label.grid(row=r,column=c)
    root.mainloop()
    

    4 Button组件

    GUI:点击Click it,显示当前时间

    from tkinter import *
    from tkinter.messagebox import showinfo
    import datetime
    
    def clicked():
        day = datetime.datetime.now().strftime('%d %b %Y')
        time = datetime.datetime.now().strftime('%H:%M:%S %p')
        text = 'Day:'+day+'\n'+'Time:'+time+'\n'
        showinfo(message=text)
    
    root = Tk()
    
    botton = Button(root,
                    text='Click it',
                    command=clicked)
    botton.pack()
    root.mainloop()
    

    5 制作日历

    import calendar 
    import tkinter as tk
    root = tk.Tk()
    
    def LabelCal(Year, Month):
        # 首行放置“年、月”的位置
        label = tk.Label(root,text=str(Year)+"年")
        label.grid(row=0,column=2)
        label = tk.Label(root,text=str(Month)+"月")
        label.grid(row=0,column=4)
        # labels列表:放置“星期”的标题
        labels = [['Mon','Tue','Wed','Thu','Fri','Sat','Sun']]
        # 用calendar库计算日历
        MonthCal = calendar.monthcalendar(Year, Month)  
        # 先把界面清空
        for r in range(7):
            for c in range(7):            
                label = tk.Label(root,
                              width =5,
                              padx=5,
                              pady=5,
                              text=' ')        
                label.grid(row=r+1,column=c)
        # 把日历加到labels列表中     
        for i in range(len(MonthCal)):
            labels.append(MonthCal[i])
        # 放置日历
        for r in range(len(MonthCal)+1):
            for c in range(7):
                if labels[r][c] == 0:
                    labels[r][c] = ' '
                label = tk.Label(root,
                              width =5,
                              padx=5,
                              pady=5,
                              text=str(labels[r][c]))        
                label.grid(row=r+1,column=c) # 网格布局
            
    # button:Enter
    def ButtonPrevious():
        global Year, Month
        Month = Month-1
        if Month<1:
            Month = Month+12
            Year = Year-1
        LabelCal(Year, Month)
    
    # button:Clear
    def ButtonNext():
        global Year, Month
        Month = Month+1
        if Month>12:
            Month = Month-12
            Year = Year+1 
        LabelCal(Year, Month)
        
    # 默认日期
    Year, Month = 2020,3
    LabelCal(Year, Month)
      
    button1 = tk.Button(root, text='Previous', command=ButtonPrevious)
    button1.grid(row=8, column=0)
        
    button2 = tk.Button(root, text='Next', command=ButtonNext)
    button2.grid(row=8, column=6)
    
    root.mainloop()
    
    展开全文
  • uniapp手写日历

    2021-03-23 23:55:58
    '', '二', '三', '四', '五', '六'], y: new Date().getFullYear(), // 年 m: new Date().getMonth() + 1, // 月 dates: [], // 当前月的日期数据 positionTop: 0, monthOpen: false, choose: '', headerBar:...
  • 日历加背景图片 - 京华志

    千次阅读 2011-10-04 15:19:31
    Loveyuki这个家伙在日历的表格后面放了月份图片。觉得挺有意思的。我马上也现场做了个哈哈。喜欢的朋友直接下载附件。上传所有文件就OK了。哈哈。 看看我的日历也有月份的背景了。 calendar.rar
  • 可能很多人都会说,你还自己撸日历控件,GitHub有那么多好的开源项目,比如:material-calendarview(https://github.com/prolificinteractive/material-calendarview)4K多的star,而且人家的扩展性也很强,我...
  • 日历的问题

    2016-01-25 16:27:12
    自定义日历中使用系统组件,遇到的年选择初始年份缺少一月份,最后年份只有一月份
  • 为何不自己新自己动手制作本专属于自己的个性日历呢?做好后,自己使用或作为礼物送给亲朋好友都很不错。下面,小编就教大家用Word来制作日历,用上自己喜欢的爱豆照片,就更完美啦!办公室小刘说:“生活需要仪式...
  • 日历上不要年份和月份,只需要当月全部的天数的日期,不是一共多少天,是显示每天这是我写的不知道错误在哪![图片说明](https://img-ask.csdn.net/upload/201911/10/1573373860_192118.png)
  • 本篇文章主要介绍了Android 日历控件的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 先看几张动态的效果图吧! 项目地址:...
  • vant里面只有选择天数的日历没有选择月份的,所以我自己又封装了个组件。 在这里插入图片描述 标题 上代码: 这是封装的子组件: 父组件调用: 导入 import datecomponent from “@/views/achievement/...
  • 大二萌新做课设风景日历制作系统,图片不会插入,希望向各位大佬求助 ``` import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import javax.swing.event.*; import ...
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入段漂亮的代码片生成个适合你的列表创建个表格设定内容居中、居左、...
  • 最近我在看《Python编程快速上手-让繁琐工作自动化》书,看到书中「处理Excel电子表格」章节时触发了灵感,想着我也可以用 Python 做出份专属日历。使用openpyxl模块,读取和修改Excel电子表格,再通过calendar...
  • 打印日历

    2021-04-25 13:13:03
    2.图片注释: 第、二张图:主函数代码及注释 第三张图:程序运行界面 第四、五张图:完整代码 ~ 3.程序讲解(选讲): (1)2月份在数组中是a[1]而不是a[2]; (2)%nd中的n为宽度,如:%5d则为占5个宽度. ...
  • 推荐款优雅的日历控件

    千次阅读 2018-08-12 18:37:43
    项目需要用到日历控件,这是我们的效果图。 去github上搜了哈,搜到大神写的CalendarView,各种炫酷效果,我这种的也只需要自定义效果就可以了,话不多说,直接开撸! 这里附上github的链接地址:...
  • 大二做课设风景日历系统,做了半天也不会插入图片,更何况图片还要可供选择,求助各位大佬 ``` import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import javax....
  • var months = new Array("", "二", "三","四", "五", "六", "七", "八", "九","十", "十一", "十二"); var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,30, 31, 30, 31); var days = new Array("日...
  • java实现日历打印

    2020-12-25 09:57:18
    通过java实现日历的打印
  • ![图片说明](https://img-ask.csdn.net/upload/201607/22/1469191360_100525.png)两个箭头调整月份
  • tkinter 下拉日历控件网上找的不完善的tk日历进行修改的,可以快捷的找到并返回日期。 效果如下图,上面的是控件,下面的是调用demo窗口? 如下所示:# -*- coding:utf-8 -*- import calendarimport tkinter as tk...
  • Ionic日历

    千次阅读 2017-03-14 17:39:23
    献上图片: 附上代码: .controller('calenderCtrl', function ($scope, CalenderService) {  //星期初始化  var week = ["星期", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"];  ...
  • 原标题:简洁日历日历与 ToDo 的完美结合 #Android日历行程应用一向都是非常轻量的,甚至有时候略显单调。毕竟对于此类应用大多数时候我们仅仅将之视为获取即时信息的工具,所以大部分朋友会觉得没有必要装第三...
  • 这几天用winform做了个设置壁纸的小工具, 为图片添加当月的日历并设为壁纸,可以手动设置壁纸,也可以定时设置壁纸,最主要的特点是在图片上生成当前月的日历信息。 工具和桌面设置壁纸后的效果如下: 在图片上...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,091
精华内容 1,636
关键字:

一月份日历图片