الشفافية الافتراضية ثلاثية الأبعاد مع التحكم في مخطط ASP.NET؟

StackOverflow https://stackoverflow.com/questions/3415434

سؤال

مثل اثنين من اللاعبين قبلي هناك والثاني هناك لدي صعوبة في الرسم البياني ثلاثي الأبعاد.

كيف تجبرهم على أن يكونوا شفافين مثل هذه الصورة:alt text

مأخوذة من مثال مخطط المنطقة ثلاثية الأبعاد يتم شحنه مع ASP.NET المخطط عناصر التحكم. هذا الرسم البياني لديه chartcolorpalette.brightpastel البليت ، ولكن شفاف.

لدي أيضا مخطط ثلاثي الأبعاد مع chartcolorpalette.brightpastel لوحة ، ولكنها ليست شفافة وما زلت لا أستطيع العثور على طريقة لكيفية جعلها شفافة مثل الرسم البياني للمثال. (بعد فحص مثال الترميز و codeBehind):

alt text

الطريقة الوحيدة التي وجدتها هي ضبط لون السلسلة مع قناة ألفا للشفافية ، أو استخدام لوحة الألوان بألوان شفافة (على سبيل المثال chartcolorpalette.semitransparent) ولكن يجب أن تكون هناك طريقة افتراضية أخرى أفتقدها.

السبب في أنني بحاجة حقًا إلى معرفته هو أنني أقوم بإنشاء الرسوم البيانية دون أي رمز وراء استخدام الترميز ، لذلك أجد أنه من الضروري بعض الشيء لإنشاء قصاصات التعليمات البرمجية فقط بسبب هذا.

شكرا جزيلا لك على أي إجابات.

تعديل: أنا أستخدم إصدار .NET 3.5 من مخططات ASP.NET.

هل كانت مفيدة؟

المحلول

كنت نفس المشكلة هنا. حل باستخدام هذا:

// After all series manipulation, add this
chart.ApplyPaletteColors();
foreach (var serie in chart.Series)
    serie.Color = Color.FromArgb(220, serie.Color);

نصائح أخرى

أرى أنك على هذه الموضوع أيضا. لسوء الحظ ، تحتاج إلى استخدام الألوان مع قناة ألفا من أجل ضبط الشفافية AFAIK

هنا نظرة عامة جيدة على اللوحات المتاحة وبعض الأساسيات على التلاعب بها

أظن أنه يمكنك إنشاء لوحة جديدة من خلال التكرار على الألوان في لوحة الباستيل المشرقة وإضافة قناة ألفا - إذا قمت بذلك بستاتيك عالمي ، ربما كجزء من منطق init الخاص بك ، يجب أن تكون قادرًا على الإشارة الأمر بسهولة - إذا كنت لا تريد أن يكون ذلك أي CodeBehind ، أنت؟ قد؟ تكون قادرًا على بيانات اللوحة المخصصة الخاصة بك إلى خاصية CustomPalette ، لكن لا يمكنني القول على وجه اليقين.

إذا كنت تستخدم لوحة ، وليس لونًا واحدًا لكل سلسلة ، فيجب عليك ضبط اللون لكل نقطة:

myChart.ApplyPaletteColors();

foreach (var series in myChart.Series)
{
    foreach (var point in series.Points)
    {
        point.Color = Color.FromArgb(220, point.Color);
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top