سؤال

أنا أعمل في منشأة "معاينة الطباعة" لإظهار نظرة عامة على شريحة مع صفائف مستطيلة من بقع عينة على ذلك.

عادة ما تقيس الشرائح عادة 25 × 75 ملم وعينات بقعة هي عادة 0.1 مم في القطر. عادة ما يكون هناك فجوة 2 ملم حول محيط الشريحة حيث لا يتم طباعة البقع.

المسافة بين البقع (الملاعب) دقيقة إلى 0.01 مم. يحتاج الملاعب من 0.20 و 0.29 ملم على سبيل المثال إلى تمييزها في البكسل. إن تمثيل المواقع أنفسهم، من خلال دقة 100٪ ليست حاسمة في هذه المرحلة طالما أن البقع مرئية ولا تتداخل.

وأود أن أقدر المشورة بشأن التقنيات التي يجب استخدامها من أجل إنشاء تمثيل نقطي من الشرائح / البقع وعرض تخطيط الشرائح باستخدام مستويات تعسفية من التكبير.

لا يجب أن يكون هذا متطورا - تمثيل 1: 1 بالإضافة إلى تكبير أصغر وأكبر لبدء تشغيله. ربما لا يمكنني التصغير كثيرا حيث أصبحت البقع صغيرة جدا بحيث لا يمكن تمثيلها.

بالنسبة إلى تكبير أكبر، ربما سأحتاج إلى معرفة عناصر تحكم التمرير الأفقي / العمودي أيضا، لكنني سأعالج هذا في وقت لاحق.

أرغب في معرفة أي تقنيات برمجة وتوسيعات يجب أن أدركها من أجل تنفيذ منشأة التكبير بشكل صحيح. لقد ألعبت مؤخرا مع وظيفة Stormblt لتغيير أحجام الصور ويبدو أنه على ما يرام، ومع ذلك ستكون أي معلومات أخرى ذات صلة مفيدة.

هتافات.

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

المحلول

دعونا نبدأ من البداية:

  • لماذا لا تستخدم :: AFXPRINTPREVIEW () وبقية مرافق معاينة الطباعة من MFC؟

  • "الشرائح" و "البقع" خاصة بصناعتك وأعتقد - هل هي ذات صلة بالمسألة أم أنها فقط للتوضيح؟

  • Stormblt () لن تفعلك جيدا كثيرا لأنه لن يسمح لك فقط بتصغير مستوى بكسل، وما تحتاجه هو رسم جزء معين من سيطرتك مع مستوى أعلى من الدقة. حتى لو كنت لن تستخدم أشياء معاينة طباعة MFC، فابحث في ذلك لمعرفة كيف يمكن القيام به.

  • عنصر تحكم Windows يحتوي على كل الوظائف التي تحتاجها للتمرير والتقليل. في سياق الجهاز: setwindowext ()، setviewportext ()، setviewportorg ()، إلخ. التي تقال، لقد نفذت مرة واحدة التكبير والتمرير "يدويا"، عن طريق تتبع موضع التمرير، التكبير أوامر تحكم بلدي، وما إلى ذلك. لقد كان الألم في الحمار وينظر إلى الوراء، يجب أن تستخدم مرافق Windows. أنها ليست سهلة الاستخدام إما، على الرغم من أنه لماذا اعتقدت أنني أستطيع أن أفعل ذلك أفضل نفسي في المقام الأول - اتضح أنني كنت مخطئا :)

  • أخيرا، على الرغم من أنني لا أستطيع أن أقول بالتأكيد من سؤالك إذا كنت حقا في هذا القارب، فلا تفكر من حيث المسافات المادية (ملليمتر وغيرها). أول ما تريد الحصول عليه هو رسم الشكل على الشاشة، مع النسب الصحيحة بين العناصر. ثم تريد التكبير / الخروج. أخيرا، فقط عندما تصل إلى جزء الطباعة أن التدابير الفعلية تأتي في اللعب. الشيء الوحيد الذي تحتاجه لمعرفة هناك (تبسيط بعض الشيء هنا) هو "ما هو نسبة التكبير الصحيحة التي أحتاج إليها للحصول على الإخراج المطلوب". هذا صعب بعض الشيء ولكنه لا علاقة له بما يبدو أنه أول جزء من سؤالك (كيفية رسم مكونك على الشاشة).

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top