#c# #string #bitmap #byte
#c# #строка #растровое изображение #байт
Вопрос:
if (!String.IsNullOrEmpty(profileImage)) { try { string logoAddress = profileImage.Remove(0, profileImage.LastIndexOf('/') 1); logoAddress = PathW @"Contentgenerateexitlogo" logoAddress; bool fileExists = File.Exists(logoAddress); byte[] imageBytes = fileExists ? File.ReadAllBytes(logoAddress) : webClient.DownloadData(profileImage); if (!fileExists) File.WriteAllBytes(logoAddress, imageBytes); MemoryStream ms = new MemoryStream(imageBytes); Bitmap OrgImg = new Bitmap(ms); NewImg = new Bitmap(OrgImg.Width, OrgImg.Height); for (int y = 0; y lt;= OrgImg.Height - 1; y ) { for (int x = 0; x lt;= OrgImg.Width - 1; x ) { if ((Math.Pow(x - (OrgImg.Width / 2), 2) Math.Pow(y - (OrgImg.Width / 2), 2)) lt; Math.Pow(OrgImg.Width / 2, 2)) NewImg.SetPixel(x, y, Color.FromArgb(255, OrgImg.GetPixel(x, y).R, OrgImg.GetPixel(x, y).G, OrgImg.GetPixel(x, y).B)); else NewImg.SetPixel(x, y, Color.Empty); } } logoAddress = logoAddress.Replace(".png", "rounded.png"); NewImg.Save(logoAddress); NewImgsample = PdfImage.FromFile(logoAddress); ms.Dispose(); NewImg.Dispose(); foreach (PdfPage page in doc.Pages) { page.Graphics.DrawImage(NewImgsample, 686.211f, 247.0f, 101.389f, 101.389f); } } catch { } }
Привет Я пытаюсь сначала сохранить растровое изображение в путь из данных, затем сохраненное изображение сначала нужно замаскировать, а затем сохранить его с другим расширением. Мне нужно замаскироваться, только если картинка еще не замаскирована. теперь в моем коде сохранена битовая карта из базы данных , если она не сохранена, она будет сохранена, затем после сохранения замаскируйте другое растровое изображение, а затем сохраните новое растровое изображение. Мне нужно замаскироваться только один раз, как я могу проверить, уже ли это изображение замаскировано ?
этот код маскирует мое изображение каждый раз, даже если замаскированное изображение уже есть. мой код таков :
Комментарии:
1. Вы можете использовать одну
bool
переменную, проверить, имеет ли она значениеfalse
, а затем установить ее вtrue
2. или вы можете использовать
if(!File.Exists(path)) ...
3. Я использовал как bool, так и if(!Файл. Существует(путь), когда я сохранил изображение через базу данных, но на этот раз в конце кода, когда я замаскировал изображение, я сохранил «округленный.png» вместо этого, этот «округленный.png» сохранен . я не могу разработать эти два способа для загрузки обратно 2d-изображения. мне нужно, чтобы этот цикл выполнялся только тогда, когда округлое изображение не находится в пути …..
4. проверьте это, я имею в виду логоадрес = логоадрес. Заменить(«.png», «округленный.png»); NewImg.Сохранить(логоадрес); NewImgsample = PdfImage. Из файла(логоадрес);
5. дело в том, что я сначала замаскировал изображение, а затем сохранил его, этот файл причины. Существует и bool не может работать