Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

mariusz1024

Windows 8.1 aplikacja C#

Polecane posty

Chodzi o iż chciałbym napisać aplikację która zmienia zdjęcie w negatyw, mam też algorytm który działa ale tylko w windows form ale mam problem z implementacją tego algorytmu w stylu ModerUI. Mój program otwiera już zdjęcia ale mam problem właśnie z pewnymi różnicami np. w aplikacjach typu ModernUI nie ma Bitmap tylko BitmapImage. Byłbym bardzo wdzięczny jak by mi ktoś trochę pomógł.

Link do komentarza
Udostępnij na innych stronach

Tylko jest taki problem bo nie mogę w ogóle deklarować typu Bitmap, i nie ma takiej przestrzeni nazw jak System.Drawing. Tak jak wcześniej wspominałem mam aplikacje która działa mi na formatce ale mam problem z implementacją tego w aplikacji Windows 8.

Mam taki oto kod


public static Bitmap Negatyw(Bitmap bitmapWejsciowy)
{
int wysokosc = bitmapWejsciowy.Height;
int szerokosc = bitmapWejsciowy.Width;
Bitmap bitmapWyikowy = new Bitmap(szerokosc, wysokosc, PixelFormat.Format32bppRgb);
BitmapData bmWeData = bitmapWejsciowy.LockBits(new Rectangle(0, 0, szerokosc, wysokosc), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
BitmapData bmWyData = bitmapWyikowy.LockBits(new Rectangle(0, 0, szerokosc, wysokosc), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
int strideWe = bmWeData.Stride;
int strideWy = bmWeData.Stride;
IntPtr scanWe = bmWeData.Scan0;
IntPtr scanWy = bmWyData.Scan0;
unsafe
{
for(int y=0; y< wysokosc; y++)
{
byte* pWe = (byte*)(void*)scanWe + y * strideWe;
byte* pWy = (byte*)(void*)scanWy + y * strideWy;
for(int x=0; x<szerokosc; x++)
{
((RGB*)pWy)[x] = ((RGB*)pWe)[x].Negatyw();
}
}
bitmapWyikowy.UnlockBits(bmWyData);
bitmapWejsciowy.UnlockBits(bmWeData);
return bitmapWyikowy;
}
}

ale niestety nie bardzo wiem jak go przerobić aby zadziałał na aplikacji typu Windows 8.

Link do komentarza
Udostępnij na innych stronach



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...