標籤

more tags...

最新回覆

利用ASP.NET寫一支透由圖片來產生文字排列圖片的程式

這個想法是小弟在讀書時期..教授用來追女朋友的idea....分享給大家呀...

如果是常常在家寫程式的人..沒時間陪女朋友....就做一個送女朋友呀...

在此要感謝提供美美測試照片的朋友..eVonne...

聽說越遠看越清楚喔...

eVonneImageProcess.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="eVonneImageProcess.aspx.cs" Inherits="eVonneImageProcess" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>eVonneImageProcess</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatDirection="Horizontal">
            <asp:ListItem Selected="True" Value="灰階">灰階</asp:ListItem>
            <asp:ListItem Value="彩色">彩色</asp:ListItem>
        </asp:RadioButtonList><asp:TextBox ID="TextBox1" runat="server">eVonne </asp:TextBox>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="執行" />
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1"
            ErrorMessage="字串不可以為空"></asp:RequiredFieldValidator><br />
        <asp:Image ID="Image1" runat="server" ImageUrl="~/evonne.jpg" /><br />
        <asp:Literal ID="Literal1" runat="server"></asp:Literal></div>
    </form>
</body>
</html>

eVonneImageProcess.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using System.Drawing;


public partial class eVonneImageProcess : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }


    protected void Button1_Click(object sender, EventArgs e)
    {
        StringBuilder sb = new StringBuilder();

        //載入你要處理的圖片
        Bitmap b = new Bitmap(Server.MapPath("evonne.jpg"));

        int cnt = 0;

        sb.Append("<pre>");

        //x=x+2,如果產生的圖片太高可以調整這個,可以+1,+2,+3
        for (int x = 0; x < b.Height; x = x + 2)
        {
            for (int y = 0; y < b.Width; y++)
            {

                Color pixel = b.GetPixel(y, x);

                //顯示的格式可以自行調整
                if (this.RadioButtonList1.SelectedIndex == 0)
                {
                    sb.AppendFormat("<span style='background-color:black;'><font color='{0}'>{1}</font></span>", ColorTranslator.ToHtml(ToGray(pixel)), GetVal(cnt));
                }

                else
                {
                    sb.AppendFormat("<span style='background-color:black;'><font color='{0}'>{1}</font></span>", ColorTranslator.ToHtml(pixel), GetVal(cnt));
                }

                cnt++;
            }

            sb.Append("<br/>");
        }

        sb.Append("</pre>");

        this.Literal1.Text = sb.ToString();
    }



    protected string GetVal(int cnt)
    {
        char[] str = this.TextBox1.Text.ToCharArray();

        return str[cnt % str.Length].ToString();
    }


    protected Color ToGray(Color pixel)
    {
        int val = (pixel.R + pixel.G + pixel.B) / 3;

        return Color.FromArgb(val, val, val);
    }

}

執行結果:

原始程式碼下載:evonne.rar

推到 Twitter!
推到 Plurk!


 

2008/4/5 00:26| 閱讀數 : 3753 | 我要推薦 | 6 Comments | 文章分類 : ASP.NET 訂閱


回覆

# re: 利用ASP.NET寫一支透由圖片來產生文字排列圖片的程式, Posted by ajun on 2008/4/5 上午 12:56  回覆

這算是典型的宅男禮物嗎??

之前也寫過一個.http://blog.blueshop.com.tw/ajun/archive/2005/12/30/15774.aspx

用dotblogs的logo.
http://ajunlee.googlepages.com/dotblogs.htm

不知道你教授後來有沒有追成...
不過我是還沒送給誰過...

# re: 利用ASP.NET寫一支透由圖片來產生文字排列圖片的程式, Posted by puma on 2008/4/5 上午 01:23  回覆

呵呵...

後來教授有沒有追到是沒跟我們講啦...

但聽到他的這個idea就覺得一定會追到的感覺...

在影像處理..其實還有很多技術..是可以做出很神奇的東西的..

改天有空再介紹給大家認識呀...

# re: 利用ASP.NET寫一支透由圖片來產生文字排列圖片的程式, Posted by jon on 2008/4/5 上午 08:57  回覆

好主意 馬上用我女朋友照片試試看 哈

# re: 利用ASP.NET寫一支透由圖片來產生文字排列圖片的程式, Posted by eVonne on 2008/4/5 上午 10:37  回覆

謝謝你的製作
真cool

# re: 利用ASP.NET寫一支透由圖片來產生文字排列圖片的程式, Posted by bibbynet on 2008/4/10 上午 01:25  回覆

剛剛看到差點以為是炫耀文..
程式寫的好老婆又美到冒泡..
怨氣一整個出來出來了..
哈哈哈哈哈..^_^||..

不過這是好招阿..讚..

# re: 利用ASP.NET寫一支透由圖片來產生文字排列圖片的程式, Posted by puma on 2008/4/15 下午 12:40  回覆

感謝小喵大大的改版..

多了讓使用者上傳不同照片的功能..

http://www.dotblogs.com.tw/topcat/archive/2008/04/15/2916.aspx

發表回覆

標題: *
姓名: *
Email: (將不會被顯示)
Url:
回覆: *
登入後使用進階評論
Please add 2 and 6 and type the answer here:
F6 Team logo


用BloggerAds 替自已加薪

每月文章

文章分類

推薦討論區

推薦部落格