Visualizzazione dei risultati da 1 a 5 su 5

Discussione: c# senza dll

  1. #1

    c# senza dll

    salve a tutti!
    ho un problema: io di solito per programmare uso vb.net ma ho trovato degli script ke mi sarebbero utilissimi in c#. si tratta di image processing con puntatori (che nn posso usare in vb.net). il problema ke non so come trasformare gli script trovati in pagine .aspx (son pagine .cs che dovrebbero essere compilate, ma su aruba nn posso usare dll).
    vi posto una parte di codice che applica la convoluzione...

    codice:
    public static bool Conv3x3(Bitmap b, ConvMatrix m)
    		{
    			// Avoid divide by zero errors
    			if (0 == m.Factor) return false;
    
    			Bitmap bSrc = (Bitmap)b.Clone(); 
    
    			// GDI+ still lies to us - the return format is BGR, NOT RGB.
    			BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
    			BitmapData bmSrc = bSrc.LockBits(new Rectangle(0, 0, bSrc.Width, bSrc.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
    
    			int stride = bmData.Stride;
    			int stride2 = stride * 2;
    			System.IntPtr Scan0 = bmData.Scan0;
    			System.IntPtr SrcScan0 = bmSrc.Scan0;
    
    			unsafe
    			{
    				byte * p = (byte *)(void *)Scan0;
    				byte * pSrc = (byte *)(void *)SrcScan0;
    
    				int nOffset = stride + 6 - b.Width*3;
    				int nWidth = b.Width - 2;
    				int nHeight = b.Height - 2;
    
    				int nPixel;
    
    				for(int y=0;y < nHeight;++y)
    				{
    					for(int x=0; x < nWidth; ++x )
    					{
    						nPixel = ( ( ( (pSrc[2] * m.TopLeft) + (pSrc[5] * m.TopMid) + (pSrc[8] * m.TopRight) +
    							(pSrc[2 + stride] * m.MidLeft) + (pSrc[5 + stride] * m.Pixel) + (pSrc[8 + stride] * m.MidRight) +
    							(pSrc[2 + stride2] * m.BottomLeft) + (pSrc[5 + stride2] * m.BottomMid) + (pSrc[8 + stride2] * m.BottomRight)) / m.Factor) + m.Offset); 
    
    						if (nPixel < 0) nPixel = 0;
    						if (nPixel > 255) nPixel = 255;
    
    						p[5 + stride]= (byte)nPixel;
    
    						nPixel = ( ( ( (pSrc[1] * m.TopLeft) + (pSrc[4] * m.TopMid) + (pSrc[7] * m.TopRight) +
    							(pSrc[1 + stride] * m.MidLeft) + (pSrc[4 + stride] * m.Pixel) + (pSrc[7 + stride] * m.MidRight) +
    							(pSrc[1 + stride2] * m.BottomLeft) + (pSrc[4 + stride2] * m.BottomMid) + (pSrc[7 + stride2] * m.BottomRight)) / m.Factor) + m.Offset); 
    
    						if (nPixel < 0) nPixel = 0;
    						if (nPixel > 255) nPixel = 255;
    							
    						p[4 + stride] = (byte)nPixel;
    
    						nPixel = ( ( ( (pSrc[0] * m.TopLeft) + (pSrc[3] * m.TopMid) + (pSrc[6] * m.TopRight) +
    							(pSrc[0 + stride] * m.MidLeft) + (pSrc[3 + stride] * m.Pixel) + (pSrc[6 + stride] * m.MidRight) +
    							(pSrc[0 + stride2] * m.BottomLeft) + (pSrc[3 + stride2] * m.BottomMid) + (pSrc[6 + stride2] * m.BottomRight)) / m.Factor) + m.Offset); 
    
    						if (nPixel < 0) nPixel = 0;
    						if (nPixel > 255) nPixel = 255;
    
    						p[3 + stride] = (byte)nPixel;
    
    						p += 3;
    						pSrc += 3;
    					}
    
    					p += nOffset;
    					pSrc += nOffset;
    				}
    			}
    
    			b.UnlockBits(bmData);
    			bSrc.UnlockBits(bmSrc);
    
    			return true;
    		}
    come faccio a trasformarla in una pagina .aspx?? è possibile senza usare le dll?
    Vuoi condividere le tue Video, Foto e Musica con tutti i tuoi amici?
    http://www.manyego.com
    Entra a far parte della nostra Community!
    Ti aspettano migliaia di Video e Foto e centinaia di Amici!
    Crea il tuo Blog e personalizzalo con alcuni semplici passi!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    Il vantagio di Asp.net è che puoi usare le dll senza bisogno di registrale sul server, basta metterle nella cartella bin (per Asp.net 1.1) nella root del sito.
    Anche Aruba dovrebbe permerterti di usare le dll in questo modo perchè è previssto dal framework

  3. #3
    sul server nn ho la cartella bin, ma cgi-bin...è lo stesso?
    poi un'altra cosa: una volta creata la dll come faccio ad inserirla nel sito ed a passar i parametri (nel caso del code postato Bitmap b, ConvMatrix m)??
    Vuoi condividere le tue Video, Foto e Musica con tutti i tuoi amici?
    http://www.manyego.com
    Entra a far parte della nostra Community!
    Ti aspettano migliaia di Video e Foto e centinaia di Amici!
    Crea il tuo Blog e personalizzalo con alcuni semplici passi!

  4. #4
    ho provato a mettere la dll sia in bin che in cgi-bin, ma mi dice "unable to load DLL"...come mai? cosa posso fare??
    Vuoi condividere le tue Video, Foto e Musica con tutti i tuoi amici?
    http://www.manyego.com
    Entra a far parte della nostra Community!
    Ti aspettano migliaia di Video e Foto e centinaia di Amici!
    Crea il tuo Blog e personalizzalo con alcuni semplici passi!

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    Posta il codice che hai usato nella pagina aspx che ti da errore

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 © 2025 vBulletin Solutions, Inc. All rights reserved.