|
分類:[ASP.NET (VB)]
前回は、サーバーに画像を保存して、イメージコントロールに表示する方法は、成功しましたが、絶対パスに保存して、イメージコントロールに表示する方法にチャレンジしました。visual studio 2015では、イメージコントロールに表示されましたが、本番ではイメージコントロールは表示されましたが、 画像は表示されません。ばつ印の所を右クリックすると、イメージコントロールの幅と高さがゼロになっていました。imageurlはあっていました。。
コードは次のとうり。
Imports System.Drawing Public Class _Default Inherits System.Web.UI.Page Dim img As New Bitmap(500, 500) Dim g As Graphics = Graphics.FromImage(img) Const XMAX = 399, YMAX = 399 Const HABA = 60, MITUDO = 25, RITTAIDO = 2 Dim TAKASA(0 To XMAX), DOT(0 To XMAX) As String Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
OBJECTBYOGA() For Y = 0 To YMAX ' Erase DOT For i = 0 To XMAX DOT(i) = "" Next
TAKASALOAD(Y) For X = 0 To XMAX Dim TAKASA1 As Integer = TAKASA(X) * RITTAIDO If DOT(X) = "" Then If Rnd() * 100 < MITUDO Then DOT(X) = "7" Else DOT(X) = "0" End If End If img.SetPixel(X, Y, System.Drawing.ColorTranslator.FromOle(QBColor(Val(DOT(X))))) Dim TUGI As Integer = X + HABA - (TAKASA1 * RITTAIDO) If TUGI >= 0 And TUGI <= XMAX Then DOT(TUGI) = DOT(X) End If Next Next
' Response.ContentType = "image/png" ' Response.Flush() ' img.Save(Response.OutputStream, Imaging.ImageFormat.Png) ' img.Save("c:\inetpub\wwwroot\images\pyramid.png", Imaging.ImageFormat.Png) ' Response.End() img.Save("c:\pyramid\image\pyramid2.png", Imaging.ImageFormat.Png)
End Sub
Private Function QBCN(ByVal IRO As String) As Integer
If IRO = "FF000000" Then QBCN = 0 ElseIf IRO = "ff000080" Then QBCN = 1 ElseIf IRO = "ff008000" Then QBCN = 2 ElseIf IRO = "ff008080" Then QBCN = 3 ElseIf IRO = "ff800000" Then QBCN = 4 ElseIf IRO = "ff800080" Then QBCN = 5 ElseIf IRO = "ff808000" Then QBCN = 6 ElseIf IRO = "ffc0c0c0" Then QBCN = 7 ElseIf IRO = "ff808080" Then QBCN = 8 ElseIf IRO = "ff0000ff" Then QBCN = 9 ElseIf IRO = "ff00ff00" Then QBCN = 10 ElseIf IRO = "ff00ffff" Then QBCN = 11 ElseIf IRO = "ffff0000" Then QBCN = 12 ElseIf IRO = "ffff00ff" Then QBCN = 13 ElseIf IRO = "ffffff00" Then QBCN = 14 ElseIf IRO = "ffffffff" Then QBCN = 15 End If Return QBCN
End Function
Sub TAKASALOAD(ByVal Y) For X = 0 To XMAX Dim col1 As New Color col1 = img.GetPixel(X, Y) TAKASA(X) = QBCN(col1.Name) Next End Sub Private Sub OBJECTBYOGA() Dim col1 As New Color Dim i As Integer Dim j As Integer = 1 For i = 1 To 7 col1 = System.Drawing.ColorTranslator.FromOle(QBColor(i)) Dim b As New Drawing2D.LinearGradientBrush(New Point(0 + 25 * (i - j), 0 + 25 * (i - j)), New Point(400 - 25 * (i - j), 400 - 25 * (i - j)), col1, col1) g.FillRectangle(b, 0 + 25 * (i - j), 0 + 25 * (i - j), 400 - 50 * (i - j), 400 - 50 * (i - j)) Next End Sub
End Class
ソースは
<%@ Page Title="Home Page" Language="VB" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.vb" Inherits="PyramidWebpro2._Default" %>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<div class="jumbotron"> ++<asp:Image ID="Image1" runat="server" Height="650px" ImageUrl="c:\pyramid\image\pyramid2.png" Width="700px" /> </div>
</asp:Content>
本番で、画像が表示されないのは何故かしりたいのです。
どなたか、教えてください。
|