Pagina 4 di 4 primaprima ... 2 3 4
Visualizzazione dei risultati da 31 a 40 su 40
  1. #31
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    687
    uhmmmm......il codice è quello che hai postato tu....pari pari....

    solo che dava errore bc30002 type bitmap is not defined qui:
    Dim bmp As Bitmap = DirectCast(System.Drawing.Image.FromFile("C:\dati\ Prove Nicon\prova.jpg"), Bitmap)


    allora ho modificato in:
    Dim bmp As System.Drawing.Bitmap = DirectCast(System.Drawing.Image.FromFile("C:\dati\ Prove Nicon\prova.jpg"), System.Drawing.Bitmap)

    ora da errore alla riga dopo:
    bc30002 type 'Rectangle' is not defined

    ho provato a inserire gli imports suggeriti ma nada......

    ciao

  2. #32
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    System.Drawing.Rectangle
    Pietro

  3. #33
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    687
    mi sento un pò fantozzi....ahahahahahahah

    ora mi dice:

    bc30311 value of type System.drawing.image cannot be converted to system.drawing.rectangle.

    cmq mi lascia perplesso il fatto che a te vada ed a me no......

    cmq no problem..!

  4. #34
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    io non so più che dire Questo è l'ultimo esempio

    pagina
    codice:
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="a.aspx.vb" Inherits="a" %>
    
    <!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>Pagina senza titolo</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            [img]a.aspx?img=1[/img]
        </div>
        </form>
    </body>
    </html>
    codice
    codice:
    Option Strict On
    
    Imports System.Drawing
    Imports System.Drawing.Drawing2D
    Imports System.Drawing.Text
    
    Partial Class a
        Inherits System.Web.UI.Page
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim img As String = Me.Request.QueryString("img")
            If img = "1" Then
                getImg()
            End If
        End Sub
    
        Private Sub getImg()
            Dim file As String = "C:\dati\Prove Nicon\prova.jpg"
            Dim bmp As Bitmap = DirectCast(Image.FromFile(file), Bitmap)
            ImgBorda(bmp, 10, Color.Red)
            Me.Response.Clear()
            Me.Response.ContentType = "image/jpeg"
            bmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg)
            bmp.Dispose()
            Me.Response.End()
    
    
    
        End Sub
    
        Public Sub ImgBorda(ByRef bmp As Bitmap, ByVal bordoPixel As Integer, ByVal coloreSottofondo As Color)
            Dim contenitoreW As Integer = bmp.Width + bordoPixel + bordoPixel
            Dim contenitoreH As Integer = bmp.Height + bordoPixel + bordoPixel
            Dim bmp1 As New Bitmap(contenitoreW, contenitoreH, bmp.PixelFormat)
            bmp1.Tag = bmp.Tag
            bmp1.SetResolution(bmp.HorizontalResolution, bmp.VerticalResolution)
            Dim gr As Graphics = Graphics.FromImage(bmp1)
            gr.Clear(coloreSottofondo)
    
            'imposto lavoro alta qualità
            gr.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
            gr.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
            gr.PixelOffsetMode = Drawing2D.PixelOffsetMode.HighQuality
            gr.CompositingQuality = Drawing2D.CompositingQuality.HighQuality
    
            gr.DrawImage(bmp, New Rectangle(CInt((contenitoreW - bmp.Width) / 2), CInt((contenitoreH - bmp.Height) / 2), bmp.Width, bmp.Height), New Rectangle(0, 0, bmp.Width, bmp.Height), GraphicsUnit.Pixel)
    
            bmp.Dispose()
            gr.Dispose()
            bmp = bmp1
    
        End Sub
    
    End Class
    Pietro

  5. #35
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    687
    ok....sei veramente molto gentile.!!!!!

    CMQ HO RISOLTO!!! sono io che sono un pirla...........
    ho messo gli imports nella pagina aspx con la normale sintassi

    <%@ import namespace="system.drawing" %>
    ecc
    ecc.....

    pensavo che funzionasse ugualmente.....ma non mi insultare troppo....

  6. #36
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    vanno bene lì se tutto il codice è nella pagina aspx
    Pietro

  7. #37
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    37
    Premesso che non capisco niente di asp.net e di c# ma solo asp
    Come si può, prima di ritagliare l'immagine, ridimensionarla?
    L'obiettivo è creare una immagine quadrata tagliando i bordi eccedenti da un lato...

    Stavo provando a inserire lo script per il ritaglio in uno per le thumbnail basato su http://aspnet.html.it/script/vedi/97...ini-thumbnail/ (ho cambiato solo la scelta delle dimensioni), tentando di adattarlo in varia maniera, ma non riesco a cavarne piede...

    Inserendolo come procedura mi dà per esempio:

    CS0103: Il nome 'clip' non esiste nel contesto corrente

  8. #38
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Come si può, prima di ritagliare l'immagine, ridimensionarla?
    Semplicemente invocando una routine di ridimensionamento


    L'obiettivo è creare una immagine quadrata tagliando i bordi eccedenti da un lato...
    questo non l'ho capito. Se ho una immagine di 15x10cm, per esempio, cosa voglio?
    1) tagliare 5 cm dalla parse sinistra? 5 cm dalla parte destra? 2.5 dalla sinistra e 2.5 dalla destra? o voglio che sia contenuta dentro un quadrato di date dimensioni?

    Premesso che non capisco niente di asp.net e di c# ma solo asp
    come lo vuoi fare? hai visual studio 2005? :master:

    Insomma, se hai visual studio 2005 e spieghi bene cosa vuoi fare, forse non è così difficile. Aspetto.
    Pietro

  9. #39
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    37
    Originariamente inviato da pietro09
    questo non l'ho capito. Se ho una immagine di 15x10cm, per esempio, cosa voglio?
    1) tagliare 5 cm dalla parse sinistra? 5 cm dalla parte destra? 2.5 dalla sinistra e 2.5 dalla destra? o voglio che sia contenuta dentro un quadrato di date dimensioni?
    si, un pò come fa Flickr: anteprime quadrate anche se la foto non lo è...

    come lo vuoi fare? hai visual studio 2005? :master:
    stò usando dreamweaver 8...
    Insomma, se hai visual studio 2005 e spieghi bene cosa vuoi fare, forse non è così difficile. Aspetto.
    scusa è vero, mi sono spiegato maluccio.
    Comunque ci sono riuscito, però sono passato a VB, stavo tentando in C# solo perchè avevo lo script per le miniature già in questo linguaggio

    Ecco come ho risolto:
    All'inizio non ho messo Option Strict On perchè dava errore (non consente conversioni implicite da 'System.Drawing.Image' a 'System.Drawing.Bitmap') ...ci lavorerò su.
    codice:
    Imports System.Drawing
    Imports System.Drawing.Drawing2D
    Imports System.Drawing.Imaging
    
    Partial Class ridimensiona
    Inherits System.Web.UI.Page
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    	dim objBMP as System.Drawing.Bitmap
    	dim objGraphics as System.Drawing.Image
    	
    	objBMP = New Bitmap(DirectCast(System.Drawing.Image.FromFile("C:\inetpub\wwwroot\Scripts\ridimensionamento\immagine.jpg"), Bitmap))
    'Ho semplificato, non ho messo gli IF per i vari casi e ho dato direttamenti i valori all'immagine
    	objGraphics = objBMP.GetThumbnailImage(128, 100, Nothing, IntPtr.Zero)
    'L'immagine eccede di 28px di lunghezza, taglio allora di 14px da ogni lato
    	ImgClip(objGraphics, new Rectangle(14, 0, 100, 100))
       
        System.Web.HttpContext.Current.Response.ContentType = "image/jpeg"
        objGraphics.Save(System.Web.HttpContext.Current.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg)
        objGraphics.Dispose()
        objBMP.Dispose()
        System.Web.HttpContext.Current.Response.End()
    
    End Sub
    
        '-------------------------------------------------------------------------
        'questa procedura, data una immagine bmpSource, la ritaglia secondo il
        'rettangolo clip passato
        '-------------------------------------------------------------------------
        Public Sub ImgClip(ByRef bmpSource As Bitmap, ByVal clip As Rectangle)
            Dim bmp As New Bitmap(clip.Width, clip.Height, bmpSource.PixelFormat)
            bmp.SetResolution(bmpSource.HorizontalResolution, bmpSource.VerticalResolution)
            Dim gr As Graphics = Graphics.FromImage(bmp)
            gr.Clear(Color.White)
            gr.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
            gr.DrawImage(bmpSource, New Rectangle(0, 0, clip.Width, clip.Height), clip, GraphicsUnit.Pixel)
            gr.Dispose()
            bmpSource.Dispose()
            bmpSource = bmp
    
        End Sub
    
    End Class
    Volevo chiedere se bisogna aggiungere alla fine, dopo aver inviato l'immagine al browser, objBMP = Nothing e objGraphics = Nothing per svuotare gli oggetti.
    Poi magari, mi rifaccio sentire nel caso non riesca a trovare il modo per scegliere con una query string l'immagine da miniaturizzare

  10. #40
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Volevo chiedere se bisogna aggiungere alla fine, dopo aver inviato l'immagine al browser, objBMP = Nothing e objGraphics = Nothing per svuotare gli oggetti.

    Mettere variabile = nothing, come si fa in asp, in asp.net non serve a niente.

    L'importante è mettere, come del resto hai fatto:

    objGraphics.Dispose()
    objBMP.Dispose()

    Per quanto riguarda il non mettere Option Strict On, se lavori in basic, mi permetto di consigliarti di metterlo. All'inizio è abbastanza pesante, ma è un ottimo investimento per il futuro, ampiamente ripagato

    Per il resto siamo qui. Avevo già sottomano una raccolta di funzioni grafiche, in basic o c#, per le solite cose, ridimensionare, ritagliare, fondere immagini, aggiungere testo etc. etc.
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.