Raporlarda değişen bir logoya sahip olmak için benzer bir şey yapıyorum ancak değeri aktarmak için rapor parametrelerini kullanıyorum. Görüntüler genel olarak verilerin bir parçası olsaydı bu genel yöntemin işe yaramayacağı konusunda hiçbir neden göremiyorum.
Esasen görüntüler iki alandan geçirilir. İlk alan MIME Type değeridir ve ikinci alan, görüntü içeriğini içeren Base64 kodlu bir dizidir.
Adım 1: Resminizi Base64 kodlamasına dönüştürün. Rapora resim ve MIME türü geçirin:
private static string ConvertImageToBase64(Image image, ImageFormat format)
{
byte[] imageArray;
using (System.IO.MemoryStream imageStream = new System.IO.MemoryStream())
{
image.Save(imageStream, format);
imageArray = new byte[imageStream.Length];
imageStream.Seek(0, System.IO.SeekOrigin.Begin);
imageStream.Read(imageArray, 0, imageStream.Length);
}
return Convert.ToBase64String(imageArray);
}
Adım 2 (Bizim kod her zaman kolay MIME türü yapmak için bu yönteme ImageFormat.Png
geçer).
reportParams[0] = new ReportParameter("ReportLogo", base64Logo);
reportParams[1] = new ReportParameter("ReportLogoMimeType", "image/png");
_reportViewer.LocalReport.SetParameters(reportParams);
Adım 3:
- MIMETYPE: "
=Parameters!ReportLogoMimeType.Value
"
- Değer: "
=System.Convert.FromBase64String(Parameters!ReportLogo.Value)
" raporunda şu (tırnaklar olmadan) görüntü üzerinde özelliklerini ayarlayabilirsiniz
- UPDATE: Ger olarak Onlar bir görüntüde geçiyoruz rağmen ölçekli yemiş gibi Genellikle görüntüleri korkunç bakmak ve olacaktır: Ardo en Image Source genç oyuncular için 'Veritabanı'
Tuzak olarak ayarlanması gerekir, aşağıda diyor Hangi "doğru boyut" gibi görünüyor. Bunun nedeni raporların baskı (300 dpi), ekran (genellikle 72 veya 92 dpi) değil, işlenmesidir. Düzeltme, yaklaşık 3 kat fazla büyük bir resim göndermektir, raporda doğru boyutta ayarlanır ve "Sizing
" özelliğini "FitProportional
" olarak değiştirir.
Çok fazla Thnx, bana çok yardımcı oldu! – Martijn
Sadece görüntü kaynağının ** Veritabanı ** olarak ayarlanması gerektiğini açıklığa kavuşturmak istedim. Kaynak özelliğini doğru değere ayarlayana kadar bu çözümü işe yaratamıyorum. Dikkat etmezseniz kaçırılabilecek küçük bir detay. –
@Adrian: Aynı sorun, burada açıkladığınız gibi ben de değilim, ama bu benim için işe yaramadı lütfen sorumu kontrol edin [burada] (http://stackoverflow.com/questions/42020490/base64-image-doesnt- ekran-on-işlemek-pdf-den-rdlc-raporun) –