private IObservable <IList <OwnImage> > LoadImagesFromFolder(string draggedFolder) { return(Observable.Return(draggedFolder) .SelectMany(x => new DirectoryInfo(x).GetFiles("*.jpg")) .Select(x => OwnImage.CreateFrom(x)) .ToList()); }
/// <summary> /// </summary> /// <param name="image"></param> /// <returns></returns> private OwnImage ConvertImage(OwnImage image) { var onlyResizeIfWider = true; var newWidth = 800; var maxHeight = 600; var destinationImageFile = new FileInfo(image.SaveAs); Directory.CreateDirectory(destinationImageFile.DirectoryName); using (var fullsizeImage = System.Drawing.Image.FromFile(image.Path)) { fullsizeImage.RotateFlip(RotateFlipType.Rotate180FlipNone); fullsizeImage.RotateFlip(RotateFlipType.Rotate180FlipNone); if (onlyResizeIfWider && fullsizeImage.Width <= newWidth) { newWidth = fullsizeImage.Width; } int thumbHeight = fullsizeImage.Height * newWidth / fullsizeImage.Width; if (thumbHeight > maxHeight) { newWidth = fullsizeImage.Width * maxHeight / fullsizeImage.Height; thumbHeight = maxHeight; } fullsizeImage.GetThumbnailImage(newWidth, thumbHeight, null, IntPtr.Zero) .Save(image.SaveAs, jpegCodecInfo, myEncoderParameters); } return(image); }
/* protected Point[][] stackpos; protected Color[] stackcolors; protected Point[] betpos; protected Color betcolor; protected int[][] dealercheck; protected int stackxcount; protected int betxcount; protected int stackwidth; protected int stackheight; */ /** * @param name="aBlindStruct" blindi structure * @param name="aStackPos" stackien paikka. Koottu siten, että taulukossa on * listoja mahdollisista positioista. Taulukon indeksi määrää mistä pelaajasta kyse. */ public PokerTable(IntPtr ihwnd) { img = new OwnImage(); data = new TableData(); this.hwnd = ihwnd; if (hwnd.ToInt64() < 0) isReadFromWindow = false; casinoname = ""; //System.IO.FileStream joo = new System.IO.FileStream( }
public void readFromWindow(TableData iData) { Debug.WriteLine("readFromWindow 1"); if (hwnd.ToInt32() == -1) return; Debug.WriteLine("readFromWindow 2"); isReadFromWindow = true; img = new OwnImage(); data = iData; // otetaan ikkunan sijainti muistiin Rectangle oldWindowRect = new Rectangle(); User32.GetWindowRect(hwnd, ref oldWindowRect); // minimoidaan ja suurennetaan ikkuna Partyn grafiikkavirheiden takia try { Debug.WriteLine("readFromWindow 3"); firsttry = true; takeScreenShot(); Debug.WriteLine("readFromWindow 4"); firsttry = false; mainReader(); Debug.WriteLine("readFromWindow 5"); } finally { uint flag = 0; if (User32.SupportPrintWindow()) flag = 4; //no zorder //flag = 0; // Pienennetään pöytä siihen mikä se oli ennen oldWindowRect.Width -= oldWindowRect.X; oldWindowRect.Height -= oldWindowRect.Y; User32.SetWindowPos(hwnd, new IntPtr(-2), oldWindowRect.X, oldWindowRect.Y, oldWindowRect.Width, oldWindowRect.Height, flag); AfterResize(oldWindowRect); } }
/// <summary> /// </summary> /// <param name="image"></param> /// <param name="ct"></param> /// <returns></returns> private Task <OwnImage> ConvertImageAsync(OwnImage image, CancellationToken ct) { return(Task.Run(() => this.ConvertImage(image), ct)); }