.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 ファイル (できればスプライト) にフォールバックし、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>