在 .net/c# 中图像更改为今天的日期
希望生成用于日历图标的图像
希望这不是太难??
更新 - 希望为桌面/WPF 执行此操作,但可以采用其他 .net 代码并根据需要进行更改
对不起打扰了,我做商业应用,不擅长图形!
编辑
此答案是在 OP 解释所需平台之前给出的。我选择保留它,因为它有助于其他希望在 WEB 世界中实现相同目标的人。
由于OP没有说这是针对什么平台的,我将抛出一个WEB解决方案。
就我个人而言,我讨厌在服务器上构建任何可以卸载到客户端的东西。这是实现所要求的CSS3方法。
<style>
/* Calendar */
.calendar {
margin: 10px;
background: #fff;
width:176px;
height:176px;
}
.calendar .header {
-webkit-border-top-left-radius: 30px;
-webkit-border-top-right-radius: 30px;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#EEC4C4), to(#521B1C), color-stop(.92,#da3434),color-stop(.1,#ef9fa5));
height: 50px;
width: 176px;
-webkit-box-shadow: inset 0px 2px 1px rgba(255, 255, 255, 0.4);
}
.calendar p.weekday {
color: #fff;
font-weight: bold;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.7);
width: 176px;
line-height: 50px;
font-size: 25px;
text-align: center;
}
.calendar p.daynumber {
color: #000;
font-weight: bold;
text-shadow: 0px 1px 0px #fff;
width: 176px;
line-height: 126px;
font-size: 130px;
text-align: center;
}
.calendar .paper {
-webkit-border-bottom-left-radius: 30px;
-webkit-border-bottom-right-radius: 30px;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#7A7A7A), to(#EDEDED), color-stop(.05,#BFBFBF),color-stop(.2,#E3E3E3));
height: 126px;
width: 176px;
}
</style>
<div class="calendar icon">
<div class="header">
<p class="weekday">
Monday
</p>
</div>
<div class="paper">
<p class="daynumber">
7
</p>
</div>
</div>
您仍然需要退回到 PNG 文件(最好是 sprite)并在任何非 webkit 浏览器中覆盖工作日和日期。
这些代码都不是我的,可以在
http://graphicpeel.com/cssiosicons找到
这不准确,但很接近:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:System="clr-namespace:System;assembly=mscorlib"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<DataTemplate x:Key="CalendarTemplate">
<Grid Width="220" Height="220">
<Grid.Effect>
<DropShadowEffect Opacity="0.515" ShadowDepth="8" Direction="278" BlurRadius="28"/>
</Grid.Effect>
<Grid.RowDefinitions>
<RowDefinition Height="64"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Background="Red" CornerRadius="25,25,0,0" BorderBrush="Gray" BorderThickness="1">
<TextBlock Text="{Binding DayOfWeek}" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" FontSize="32" FontFamily="Arial"/>
</Border>
<Border Grid.Row="1" Background="White" BorderBrush="Gray" BorderThickness="1" CornerRadius="0,0,25,25">
<TextBlock Text="{Binding Day}" HorizontalAlignment="Center" VerticalAlignment="Center" FontFamily="Arial" FontSize="140" FontWeight="Bold"/>
</Border>
</Grid>
</DataTemplate>
</Window.Resources>
<Grid>
<ContentControl Content="{Binding Source={x:Static System:DateTime.Now}}" ContentTemplate="{DynamicResource CalendarTemplate}"/>
</Grid>
</Window>