Hirdetés
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: MárkaLánc
- btz: Internet fejlesztés országosan!
- eBay-es kütyük kis pénzért
- sh4d0w: StarWars: Felismerés
- [K2]: AnyDesk átverés
- V.Milán: Lapdiffúzor nyomáseloszlása: gondoltad volna?
Új hozzászólás Aktív témák
-
fatal`
titán
válasz
kingabo
#1973
üzenetére
Az nagyon lassú. Bár C#-ban nem próbálkoztam ilyennel, de delphiben azt lehetett csinálni, hogy mindkét képet betöltöttem egy MemoryStream-be és azoknak a tartalmát hasonlítottam össze (nem kell fájlba menteni).
A delphis kód így nézett ki:
function Osszehasonlit(B1, B2: TBitmap): Boolean;
var
S1, S2: TMemoryStream;
begin
S1 := TMemoryStream.Create;
S2 := TMemoryStream.Create;
try
B1.SaveToStream(S1);
B2.SaveToStream(S2);
Result := CompareMem(S1.Memory, S2.Memory, Max(S1.Size, S2.Size));
finally
S1.Free;
S2.Free;
end;
end;Gondolom van valami hasonló .NET-ben is. A ramot falja ez tény.
-
#90999040
törölt tag
válasz
kingabo
#1973
üzenetére
Az az igazság, hogy én is csak "Memóriafaló" megoldással tudtam megoldani.

bool Imageegyezike(Image kep1, Image kep2)
{
System.IO.MemoryStream ms1 = new System.IO.MemoryStream();
kep1.Save(ms1, System.Drawing.Imaging.ImageFormat.Png);
System.IO.MemoryStream ms2 = new System.IO.MemoryStream();
kep2.Save(ms2, System.Drawing.Imaging.ImageFormat.Png);
int i = 0;
int j = 0;
System.IO.BinaryReader br1 = new System.IO.BinaryReader(ms1);
System.IO.BinaryReader br2 = new System.IO.BinaryReader(ms2);
br1.BaseStream.Seek(0, System.IO.SeekOrigin.Begin);
br1.BaseStream.Seek(0, System.IO.SeekOrigin.Current);
br2.BaseStream.Seek(0, System.IO.SeekOrigin.Begin);
br2.BaseStream.Seek(0, System.IO.SeekOrigin.Current);
try
{
do
{
i = br1.ReadByte(); j = br2.ReadByte();
if (i != j) break;
} while (i != -1 && j != -1);
}
catch (System.IO.IOException exc)
{
}
br1.Close();
br2.Close();
if (i != j)
return false;
else
return true;
}
Mondjuk nagyobb méretű képeknél a MemoryStream helyett lehet FileStream. Lassab, de kevésbé memóriafaló.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Gamer PC - R7 5800X, RTX 3070 és 16gb RAM + GARANCIA
- Gamer Pc - Ryzen 7 3800X, RTX 3060ti, 16gb RAM
- Acer Nitro 5 Gamer Laptop - 15,6 FHD IPS 144hz/ i7 10750H/ 32GB RAM/ RTX 3050Ti/1,5TB SSD
- Lenovo Thinkpad T14 G3 Golyóálló Üzleti Érintős Laptop 14" -50% i5-1250P 12Mag 16GB/512GB FHD+
- Samsung Odyssey G9 49" Oled 240Hz G-Sync, FreeSync VRR Gamer monitor Eladó
- HIBÁTLAN iPhone 11 Pro 64GB Space Grey -1 ÉV GARANCIA - Kártyafüggetlen, MS2137, 100% Akksi
- Apple iPhone 13 Pro Max Graphite ProMotion 120 Hz, Pro kamerák 256 GB-100%-3 hó gari!
- Bomba Ár! Lenovo ThinkPad E14 G2 AMD - Ryzen 5 I 8GB I 256SSD I 14" FHD I HDMI I W11 I Gari
- GYÖNYÖRŰ iPhone 13 mini 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3180
- Új és újszerű 15-16 Gamer, irodai, üzleti, készülékek nagyon kedvező alkalmi áron Garanciával!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



